Autor Zpráva
dennyyy
Profil *
Proč to vypíše 1.0E-6?
Chci aby to vypsalo celé číslo
<? echo $_GET["cislo"] /1000000 ?>
Tomášeek
Profil
Cele cislo, to jako nulu? :-)
Ikki
Profil
Možná by nebylo od věci říct jaké číslo by to mělo být. Z tohohle můžeme odhadovat příklad 1/1000000 což celé číslo bude 0.

Možná zkus:

$vysledek = $_GET['cislo']/1000000;
$zobraz = number_format($výsledek, 8);
Echo $zobraz;
Joker
Profil
dennyyy:
Proč to vypíše 1.0E-6?
No, protože to je výsledek toho výpočtu.

Chci aby to vypsalo celé číslo
Výsledek toho výpočtu není celé číslo, takže ho musíte nějakou funkcí na celé číslo převést.
Která konkrétně funkce to bude závisí na tom, jakým způsobem ten výsledek chcete na celé číslo převést.
DarkMeni
Profil
dennyyy pravděpodobně myslel aby se vypsalo se všemi desetinnými místy, a ne v exponenciálním tvaru.

Ale na to mě žádný jednoduchý způsob nenapadá. Jakože vypsat to číslo tak, aby se des. místa vypisovaly do doby, než se tam objeví něco jiného, než nuly.

Jedině number_format nebo printf, ale tam je potřeba zadat na kolik des. má být to číslo zformátované.

Nebo to postupně zaokrouhlovat na víc des. míst, a podmínkou kontrolovat, jestli je to po zaokrouhlení pořád nula, nebo už ne.
Tomášeek
Profil
DarkMeni:
To zaokrouhlování a porovnávání s nulou není třeba.

Stačí number_format na dostatečný počet míst a otrimovat nuly zprava.

dennyyy pravděpodobně myslel aby se vypsalo se všemi desetinnými místy, a ne v exponenciálním tvaru.
Asi ano, ale ptal se na něco jiného :-)
dennyyy
Profil *
Už mě to maká. Děkuji všem
Keeehi
Profil
Tomášeek:
Stačí number_format na dostatečný počet míst a otrimovat nuly zprava.
No to právě nestačí. Ono totiž kvůli reprezentaci desetinných čísel v paměti se za těmi nulami objeví i nějaká další čísla. A ve kterém řadu se objeví také není pořád stejné. Ono to záleží na samotné hodnotě toho čísla. No a nakonec, ony to vůbec nemusí být nuly jelikož místo 0.0001000 to může být klidně 0.0000999.

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