Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]dziwne obliczanie w javascript
olszam
post 27.11.2017, 13:01:16
Post #1





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


Ktoś mi wyjaśni dla czego javascript nie raz potrafi dziwnie zwracać wynik po przecinku?
przykład:
  1. 27588.00 + 9659.10 + 5553.7
  2. //wynik 42800.799999999996


liczby wpisywane są w konsoli i skąd on wziął te liczby "99999999996"?

Ten post edytował olszam 27.11.2017, 13:02:11
Go to the top of the page
+Quote Post
nospor
post 27.11.2017, 13:23:29
Post #2





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




tak to jest jak sie dziala na liczbach rzeczywistych.

Uzyj
.toFixed(2)


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
olszam
post 27.11.2017, 14:43:29
Post #3





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


Wiem, używam tego, tylko z ciekawości o to pytam biggrin.gif
Go to the top of the page
+Quote Post
sabat24
post 27.11.2017, 17:18:05
Post #4





Grupa: Zarejestrowani
Postów: 175
Pomógł: 26
Dołączył: 13.09.2007
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Ogólnie - ponieważ jest problem z zapisem typów float (liczb zmiennoprzecinkowych) w formacie binarnym. Używane są pewne zaokrąglenia, które przy operacjach arytmetycznych czasami zwiększają swój błąd.
Bardziej szczegółowo - choćby ten artykuł
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 21:39