KatMPBSoft
2012-12-23 20:48:04 UTC
Witam,
Mam poważny problem z Delphi 7 i zaokrąglaniem liczb.
Otóż:
FormatFloat('0.000000000000000000000', 0,003 * 5) = 0,01499999999
lub
FormatFloat('0.00', 0,003 * 5) = 0,014
A W KALKULATORZE WINDOWS JEST 0,015 i to jest prawidłowa dana bardzo ważna dla FAKTUR VAT.
Co więcej gdy:
var
a: extended;
b: double; //lub real
begin
a := 0,003 * 5;
b := 0,003 * 5;
end;
To w a jest prawidłowa dana, a w b jest ta błędna;
Jak sobie z tym fantem poradzić.
Wiem mógłbym zmienić wszystko na extended, ale tego zrobić nie mogę bo mój klient ma program z 1000 klientów i 1000 faktur z już ustawionym double.
I teraz wysyłam jemu uaktualnienie i musi być double, bo nie można zmieniać struktury plików.
Poz,
KatMPB
www.katmpbsoft.pl
Mam poważny problem z Delphi 7 i zaokrąglaniem liczb.
Otóż:
FormatFloat('0.000000000000000000000', 0,003 * 5) = 0,01499999999
lub
FormatFloat('0.00', 0,003 * 5) = 0,014
A W KALKULATORZE WINDOWS JEST 0,015 i to jest prawidłowa dana bardzo ważna dla FAKTUR VAT.
Co więcej gdy:
var
a: extended;
b: double; //lub real
begin
a := 0,003 * 5;
b := 0,003 * 5;
end;
To w a jest prawidłowa dana, a w b jest ta błędna;
Jak sobie z tym fantem poradzić.
Wiem mógłbym zmienić wszystko na extended, ale tego zrobić nie mogę bo mój klient ma program z 1000 klientów i 1000 faktur z już ustawionym double.
I teraz wysyłam jemu uaktualnienie i musi być double, bo nie można zmieniać struktury plików.
Poz,
KatMPB
www.katmpbsoft.pl