Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 5 Dołączył: 10.12.2007 Ostrzeżenie: (0%)
|
Witam, niedawno miałem problem związany z tym, że PHP nie umie liczyć.
Mógłby ktoś wytłumaczyć mi na czym polega problem? Wiem, że to ma związek z floating point i precyzją, ale to są PROSTE działania, max 3 miejsca po przecinku... Załóżmy że mam taki kod
Proszę o podanie jakiegoś powodu dlaczego
ew jak wyświetlić prawdziwą wartość $discount / $price (powinno być 0.7) a pewnie jest (6.9999999999999999999), Oczywiście poradziłem sobie używając bcmath Ten post edytował mimol 31.12.2013, 19:10:34 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Cytat Wiem, że to ma związek z floating point i precyzją, ale to są PROSTE działania, max 3 miejsca po przecinku... Nie chodzi o liczbę cyfr po przecinku, a o możliwość ich zapisania bez utraty dokładności. I tak 0,1 zostanie zapisane z utratą danych, a 0,5 zostanie zapisane bez utraty danych mimo iż obie mają ledwie jedną cyfrę po przecinku.Zmiana kolejności wykonywania działań sprawia, że inna ilość danych jest tracona na innym etapie co ma wpływ na końcowy wynik. Cytat Oczywiście poradziłem sobie używając bcmath Niepotrzebnie zaprzęgasz tutaj BC Math, skorzystaj ze zwykłego round.
Ten post edytował Crozin 1.01.2014, 23:48:49 |
|
|
|
mimol php kilejność działań 31.12.2013, 18:56:47
com no a czemu się dziwisz rzutujesz float na inta, a ... 31.12.2013, 19:20:10 
mimol Proszę czytać uważnie....
"Proszę o podanie ... 31.12.2013, 19:23:08
com no to Ci dałem powód, php przy którymś miejscu po ... 31.12.2013, 19:33:44
zegarek84 php jest dynamicznie rzutowany trochę dla wygody..... 31.12.2013, 20:47:23
com polecam ten materiał http://gynvael.coldwind.pl/?i... 1.01.2014, 02:08:28
bostaf Magia dzieje się już tutaj:
[PHP] pobierz, plainte... 1.01.2014, 23:22:04
toffiak Mały offtop odnośnie złego PHP które nawet nie pot... 2.01.2014, 08:29:47
mimol [PHP] pobierz, plaintext $price = 24.5;$discountPr... 2.01.2014, 22:15:42
Crozin Nie jest żadną magiczną liczbą. Popatrz sobie na d... 2.01.2014, 22:34:42
bostaf Cytat(Crozin @ 2.01.2014, 22:34:42 ) ... 2.01.2014, 22:53:35 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 18:08 |