Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Złe wyniki działań matematycznych
Forum PHP.pl > Forum > Przedszkole
hapek1
Robię właśnie prostą aplikację w js, jednak napotkałem na dziwny problem, otóż wyniki z pozornie prostego działania wychodzą błędne.
No więc mam np. przelicznik C > K, K > C i dla niektórych wartości wychodzi dobrze dla innych jest źle

Kod
alert(18-273.15);
alert(17-273.15);


Pierwsza linia wyświetla -255.14999999999998 a druga -256.15

Drugi mój problem to dodanie wartości z inputa do liczby, w inpucie mam np. 25 i dodaję do tego 273.15 to wynik mam 25273.15 czyli normalnie łączy 2 ciągi, jeśli wpiszę np. 25.3 to wyniku nie mam żadnego, odejmowanie działa poprawnie.
nospor
ad1) Normalka ze przy liczbach zmienno przecinkowych takie rzeczy się dzieją
ad2) dokumentacja js -> parseInt()
Pawel_W
Cytat(nospor @ 16.05.2013, 17:36:11 ) *
ad2) dokumentacja js -> parseInt()

w tym wypadku raczej parseFloat smile.gif
hapek1
dzięki za parseFloat, parseInt właśnie znalazłem ale to nie było to co było mi potrzebne.

A jest jakiś sposób aby liczyło normalnie, bo duża część mojego kodu używa liczb zmiennoprzecinkowych i w niektórych przypadkach wyniki są z kosmosu
PrinceOfPersia
Cytat
A jest jakiś sposób aby liczyło normalnie, bo duża część mojego kodu używa liczb zmiennoprzecinkowych i w niektórych przypadkach wyniki są z kosmosu

to etapie wykonywania obliczeń, licz to normalnie bez zaokrąglania (żeby nie zgubić końcówek), ale przy samym wyświetlaniu liczb zastosuj zaokrąglanie, np. Math.round,
Kod
Math.round(LICZBA)  // zaokrągla 3.92292 do 4
Math.round(LICZBA * 100) / 100 // zaokrągla 3.92292 do 3.92
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.