Autor Zpráva
Gaudentius
Profil *
Dobrý den, řeším jeden výpočet a funkce "floor" se chová nepochopitelně:

floor(5510 * 0.7) // 3856

správný výsledek ovšem měl být: 3857

Setka jste se stím někdo? Děkuji za nápovědu :-)
ShiraNai7
Profil
To je zdokumentované chování (viz upozornění dole)...

Pro takové případy (pokud je nutná absolutní přesnost s těmito výpočty) je třeba používat funkce pro práci s čísly s neomezenou přesností:

var_dump(floor(bcmul('5510', '0.7'))); //float(3857) 
__construct
Profil
Gaudentius:
Akú máš verziu PHP? Toto je totiž starý bug.
ShiraNai7 má pravdu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0