var Tablica = []; Tablica[0] = ['1989-10-1', '1989-11-17', parseFloat("0.0032")]; Tablica[1] = ['1989-11-18', '1989-12-31', parseFloat("0.005")]; Tablica[2] = ['1990-01-1', '1990-01-31', parseFloat("0.023")]; Tablica[3] = ['1990-02-1', '1990-02-28', parseFloat("0.013")]; Tablica[4] = ['1990-03-1', '1990-03-31', parseFloat("0.006")]; Tablica[5] = ['1990-04-1', '1990-04-30', parseFloat("0.005")]; Tablica[6] = ['1990-05-1', '1990-05-31', parseFloat("0.0035")]; Tablica[7] = ['1990-06-1', '1990-06-30', parseFloat("0.0025")]; Tablica[8] = ['1990-07-1', '1990-10-15', parseFloat("0.0018")]; Tablica[9] = ['1990-10-16', '1990-11-25', parseFloat("0.0023")]; Tablica[10] = ['1990-11-26', '1991-01-31', parseFloat("0.003")]; Tablica[11] = ['1991-02-1', '1991-04-30', parseFloat("0.0039")]; Tablica[12] = ['1991-05-1', '1991-07-7', parseFloat("0.0032")]; Tablica[13] = ['1991-07-8', '1991-08-1', parseFloat("0.0027")]; Tablica[14] = ['1991-08-2', '1991-09-14', parseFloat("0.0024")]; Tablica[15] = ['1991-09-15', '1993-02-28', parseFloat("0.002")]; .... //pola oznaczaja: 1. data poczatkowa 2. data koncowa 3. stopa procentowa w podanym przedziale czasowym wyrazone w formie liczby zmiennoprzecinkowej
chcę dodać pola: 4. data z pierwszej kolumny wyrażona w milisekundach, 5.data z drugiej kolumny wyrażona w milisekundach, 6. ilosc dni w podanym przedziale czasowym, 7.naliczone odsetki 8.stopa procentowa z 3 kolumny z przesunięciem o 2 miejsca po przecinku 9./10.-> data z pierwszej i drugiej kolumny sformatowana do post: DD/MM/RRRR
2. Definiuję parametry
kwota = parseFloat(document.getElementById("kwota").value);
3. DODAJE ELEMENTY DO TABLICY
for (i = 0; i < Tablica.length; i++) { //data z pierwszej kolumny tablicy w milisekundach str_od = Tablica[i][0].split('-'); //document.write(str[0]+' '+str[1]+' '+str[2]); //testowanie poprawnosci data_od_tabl_milisek = new Date(str_od[0], str_od[1] - 1, str_od[2]).getTime(); //document.write(data_od_tabl_milisek); //testowanie poprawnosci dlugosc_Tablica_i_3 = Tablica[i].push(data_od_tabl_milisek); //dodanie rekordu na końcu tablicy //data z drugiej kolumny tablicy str_do = Tablica[i][1].split('-'); data_do_tabl_milisek = new Date(str_do[0], str_do[1] - 1, str_do[2]).getTime(); dlugosc_Tablica_i_4 = Tablica[i].push(data_do_tabl_milisek); //dodanie rekordu na końcu tablicy //ilośc dni pomiedzy data z pierwszej kolumny a data z drugiej kolumny number_of_day_between = ((data_do_tabl_milisek - data_od_tabl_milisek) / (1000 * 60 * 60 * 24)); dlugosc_Tablica_i_5 = Tablica[i].push(number_of_day_between); //dodanie rekordu na końcu tablicy //odsetki w podanym okresie czasowym od podanej kwoty (zdefiniowana wyzej) odsetki_between = parseFloat(((kwota * Tablica[i][2]) / 365) * Tablica[i][5]); // ((kwota * odsetki)/365) * ilosc-dni odsetki_between_gr = Math.decimal(odsetki_between, 2); dlugosc_Tablica_i_6 = Tablica[i].push(odsetki_between_gr); //dodanie rekordu na końcu tablicy //document.write(Tablica[i]); //testowanie poprawnosci // przeliczenie stopy procentowej w kolumny 3 na % stopa_wyswietl = Tablica[i][2] * 100 // przeliczenie odsetek na %!!! dlugosc_Tablica_i_7 = Tablica[i].push(stopa_wyswietl); //dodanie rekordu na końcu tablicy //daty z pierwszej i drugiej kolumny w innej formie data_od_wyswietl = str_od[2] +'/'+str_od[1]+'/'+str_od[0]; dlugosc_Tablica_i_8 = Tablica[i].push(data_od_wyswietl); //dodanie rekordu na końcu tablicy data_do_wyswietl = str_do[2] +'/'+str_do[1]+'/'+str_do[0]; dlugosc_Tablica_i_9 = Tablica[i].push(data_do_wyswietl); //dodanie rekordu na końcu tablicy document.write(Tablica[i]+' '); //testowanie poprawnosci }
OTO WYNIK:
1989-10-1, 1989-11-17, 0.0032, 623196000000, 627260400000, 47.041666666666664, 0.25, 0.32, 1/10/1989, 17/11/1989 1989-11-18, 1989-12-31, 0.005, 627346800000, 631062000000, 43, 0.35, 0.5, 18/11/1989, 31/12/1989 1990-01-1, 1990-01-31, 0.023, 631148400000, 633740400000, 30, 1.13, 2.3, 1/01/1990, 31/01/1990 1990-02-1, 1990-02-28, 0.013, 633826800000, 636159600000, 27, 0.58, 1.3, 1/02/1990, 28/02/1990 1990-03-1, 1990-03-31, 0.006, 636246000000, 638834400000, 29.958333333333332, 0.3, 0.6, 1/03/1990, 31/03/1990 1990-04-1, 1990-04-30, 0.005, 638920800000, 641426400000, 29, 0.24, 0.5, 1/04/1990, 30/04/1990 1990-05-1, 1990-05-31, 0.0035, 641512800000, 644104800000, 30, 0.17, 0.35000000000000003, 1/05/1990, 31/05/1990 1990-06-1, 1990-06-30, 0.0025, 644191200000, 646696800000, 29, 0.12, 0.25, 1/06/1990, 30/06/1990 1990-07-1, 1990-10-15, 0.0018, 646783200000, 655941600000, 106, 0.31, 0.18, 1/07/1990, 15/10/1990 1990-10-16, 1990-11-25, 0.0023, 656028000000, 659487600000, 40.041666666666664, 0.15, 0.22999999999999998, 16/10/1990, 25/11/1990 1990-11-26, 1991-01-31, 0.003, 659574000000, 665276400000, 66, 0.33, 0.3, 26/11/1990, 31/01/1991 1991-02-1, 1991-04-30, 0.0039, 665362800000, 672962400000, 87.95833333333333, 0.56, 0.38999999999999996, 1/02/1991, 30/04/1991 1991-05-1, 1991-07-7, 0.0032, 673048800000, 678837600000, 67, 0.35, 0.32, 1/05/1991, 7/07/1991 1991-07-8, 1991-08-1, 0.0027, 678924000000, 680997600000, 24, 0.11, 0.27, 8/07/1991, 1/08/1991 1991-08-2, 1991-09-14, 0.0024, 681084000000, 684799200000, 43, 0.17, 0.24, 2/08/1991, 14/09/1991 1991-09-15, 1993-02-28, 0.002, 684885600000, 730854000000, 532.0416666666666, 1.75, 0.2, 15/09/1991, 28/02/1993 1993-03-1, 1994-05-12, 0.0019, 730940400000, 768693600000, 436.9583333333333, 1.37, 0.19, 1/03/1993, 12/05/1994 1994-05-13, 1995-02-20, 0.0018, 768780000000, 793234800000, 283.0416666666667, 0.84, 0.18, 13/05/1994, 20/02/1995 1995-02-21, 1995-05-28, 0.0019, 793321200000, 801612000000, 95.95833333333333, 0.3, 0.19, 21/02/1995, 28/05/1995 1995-05-29, 1995-09-17, 0.0016, 801698400000, 811288800000, 111, 0.29, 0.16, 29/05/1995, 17/09/1995 1995-09-18, 1996-01-7, 0.0015, 811375200000, 820969200000, 111.04166666666667, 0.27, 0.15, 18/09/1995, 7/01/1996 1996-01-8, 1997-12-31, 0.0014, 821055600000, 883522800000, 723, 1.66, 0.13999999999999999, 8/01/1996, 31/12/1997 ...
Mam pytanie. Czemu wylicza mi zła ilość dni? np. w okresie miedzy 1.03 a 31.01 wyliczył 30 dni...Czy wystarczy, jeśli dodam +1 do wyliczonej wartości..
np.w piątym wierszu wyliczyło mi ilość dni 29.958333333333332, w pierwszym 47.041666666666664... czemu?
w niektórych wierszach pomnożenie kolumny 3 przez 100 daje dziwny rezutlat: np. w wierszu 7 daje ileś miejsc po przecinku i też nie wiem czemu...
Czy ktos moze pomóc?
Pozdrawiam