Niedokładność zmiennych

0

Czyżby komputery były niedokładne ? :D

Procedure WpiszKwote;
Var
Kwota : Real;
KwotaText : String;

Begin
{ wprowadzam kwote np. po przez okienko dialogowe //Zmienna KwotaText}
Kwota:=StrToFloat(KwotaText); { np. KwotaText='1.02'}
Label1.Caption:=FloatToStr(Kwota); {wypisuje wartość 1.0999998092651}
End; { koniec procedury }

Oczywiście można sobie poradzić funkcją Round(), ale nie o to chodzi...
Może ktoś ma jakąś receptę na taki stan (prócz zmiany komputera ;) )
{hello}
--Pawlik67
Zapraszam :-)
www.vebso.pl
UŻYTKOWNIK 9969489

0

U mnie to dobrze dziala... Nie wiem jak twoj komputer moze robic az tak duzy blad... Z liczby 1.02 robi 1.099999..... Moze chodzilo ci o 1.0199999.... ??

Aby zaokraglic wartosc 1.01999998092651 do dwoch miejsc po przecinu mozesz zrobic tak:

var x:integer;
f:real;
begin
f:=1.01999998092651;
x:=round(f*100)/100;
end;--Delphi 6, Pascal

----====Pozdrawiam @LL====----
------====== RFL ======------
--==[ [email protected] ]==--

0

sorry zmienna X takze powinna byc typu real...--Delphi 6, Pascal

----====Pozdrawiam @LL====----
------====== RFL ======------
--==[ [email protected] ]==--

0

Do reprezentowania pieniędzy musisz stworzyć strukturę, ponieważ typy wbudowane
nie nadają się do tego celu.-------------------------------------------------
Pozdrawiam i życzę miłego dnia.

0

Użyj typu Currency. Ten typ został stworzony specjalnie do przechowywania wartości walutowych.

0

Na wstępie dziękuję za zainteresowanie problemem.
Jeśli chodzi o nazwy zmiennych są one przypadkowe. Tak je nazwałem aby tylko przedstawić problem.

RFL Wiem, że można zaokrąglić liczbę, ale to nie o to chodzi. Zawsze wydawało mi się, że komputer jest maszyną liczącą dokładną ( no może mylę się).
Wydaje mi się, że niezależnie od typu zmiennej, jeśli przypisuję zmiennej określoną wartość to powinna ta wartość być dokładnie taka jaką zadeklarowałem.

Mimo wszystko {hello} bardzo dziękuję i pozdrawiam
--Pawlik67
Zapraszam :-)
www.vebso.pl
UŻYTKOWNIK 9969489

1 użytkowników online, w tym zalogowanych: 0, gości: 1