Autor | Zpráva | ||
---|---|---|---|
dennyyy Profil * |
#1 · Zasláno: 15. 11. 2018, 19:18:30
Proč to vypíše 1.0E-6?
Chci aby to vypsalo celé číslo <? echo $_GET["cislo"] /1000000 ?> |
||
Tomášeek Profil |
#2 · Zasláno: 15. 11. 2018, 20:43:33
Cele cislo, to jako nulu? :-)
|
||
Ikki Profil |
#3 · Zasláno: 15. 11. 2018, 23:33:12
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 |
#4 · Zasláno: 16. 11. 2018, 12:00:23
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 |
#5 · Zasláno: 16. 11. 2018, 12:45:22
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 |
#6 · Zasláno: 16. 11. 2018, 13:28:00
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 * |
#7 · Zasláno: 16. 11. 2018, 16:05:40
Už mě to maká. Děkuji všem
|
||
Keeehi Profil |
#8 · Zasláno: 16. 11. 2018, 17:15:19
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 .
|
||
Časová prodleva: 5 let
|
0