Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z mnożeniem typów float - z pozoru proste
memic
post 16.12.2009, 23:41:36
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.12.2009

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


Witam,

ostatnio spotkałem się z dość dziwną sytuacją. Zrobiłem programik w PHP który zlicza mi pewne dane typu float z bazy mySQL. Operacje obliczeniowe wykonało samo zapytanie SQL-a.
Problem pojawia mi się dopiero wtedy gdy zaczynam mnożyć przez siebie liczby które mają np jedno miejsce po przecinku, np. gdy pomnoże:
2*5,3 to wynik jest 10,6
ale gdy pomnoże
3*5,3 to wynik jest 15,8999999999999998

zauważyłem że jeśli pomnożył bym 5,3 razy wielokrotność liczby 3 to również będzie zwracalo jakieś głupoty.

Przeciesz oczywiste jest że wynik powinien wyjść 15,9 a nie 15,899999998

Skąd te błędy? Zauważyłem również, że w javascript gdy mnoże dwie wartości z pól edit przez siebie to sytuacja jest identyczna.
Dla przykładu podam jeszcze, że np
3*5,4 = 16.200000000000003 - a nie jak powinno być 16,2.

Skąd się biorą te błędy i jak je wyeliminować?

z góry dzięki za odpowiedzi.
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 07:28