Autor | Zpráva | ||
---|---|---|---|
temistokles Profil |
#1 · Zasláno: 4. 6. 2005, 19:34:56
Mám napríklad číslo
0.0128200054169 a chcem z neho len 0.0128. Proste len 4 desatinné miesta. Ako na to? (neviem, či bude na začiatku len 1 číslo - teda v tomto prípade nula, môže tam byť trebárs aj 10) |
||
temistokles Profil |
#2 · Zasláno: 4. 6. 2005, 19:42:11
takze som to vyriesil nejak takto:
$cas = substr($time, 0, 6); sice to neosetri ak bude cislo >=10... ale to nevadi |
||
centi Profil |
#3 · Zasláno: 4. 6. 2005, 19:53:38
|
||
Fred Profil |
#4 · Zasláno: 4. 6. 2005, 20:01:14
|
||
DoubleThink Profil * |
#5 · Zasláno: 4. 6. 2005, 23:07:55
temistokles
Substr je řetězcová funkce - vrací řetězec - pro toto použití je tedy nanejvýš nevhodná Navíc nedojde k zaokrouhlení - jen k uřezání. |
||
maso Profil * |
#6 · Zasláno: 4. 6. 2005, 23:40:33
Jednoduse, vynasob to 10000, pak to zaokrouhli pomoci myslim ze je to prikaz round a pak to zase vydel 10000 a mas to tvoje krasne zaokrouhlene cislo:-)
|
||
Leo Profil |
#7 · Zasláno: 5. 6. 2005, 00:01:43
maso a co takhle si precist aspon ten manual kdyz uz odkaz mate o par prispevku vys a neplacat takovy sileny reseni? Leo
|
||
maso Profil * |
#8 · Zasláno: 5. 6. 2005, 08:07:36
$x = $x*10000;
$x = round($x); $x = $x/10000; Jestli todle je šílené řešení, tak nevim no. Nebudu louskat manuál jenom kvůli tomu abych z kódu odstranil dva řádky (předpokládám , že to bude příkaz na jeden řádek), manuály čtu jen když si nevím rady. |
||
Hugo Profil |
#9 · Zasláno: 5. 6. 2005, 08:43:18
Nebudu louskat manuál jenom kvůli tomu abych z kódu odstranil dva řádky
a tak vznikaji prasacky napsane skripty |
||
maso Profil * |
#10 · Zasláno: 5. 6. 2005, 08:45:45
I tak mi to nedalo a mrknul se na ten manuál, je to opravdu jednoduší, ale to nic nemění na tom, že pokud bych nevěděl kde hledat, tak by mi to opravdu trvalo déle než napsat ony dva zmíněné řádky na víc, nemluvě o tom, že jsem do teď ani o takovémto řešení nevěděl, takže jsem nemohl předpokládat že existuje:-)
|
||
Warden Profil |
#11 · Zasláno: 5. 6. 2005, 22:29:12 · Upravil/a: Warden
maso: vas pristup je tedy naprosto neprogramatorsky...:) jinak tyhle praktiky se imho pouzivaly u delphi atd...php to resi samozrejme mnohem lepe :)...ale jestli chcete psat prasacke scripty, proc ne, je to jen a jen na vas :) ale verim, ze jste se poucil :) hodne zdaru
|
||
printf Profil |
#12 · Zasláno: 6. 6. 2005, 11:54:05
delphi má samozřejmě taky zaokrouhlovací funkce, navíc má perfektní help který mnohdy nahradí učebnici.
|
||
Palladin Profil * |
#13 · Zasláno: 6. 6. 2005, 22:21:08
Do PHP se zasvěcuji čerstvě, ale v knížce na tohle píšou speciální funkce buď
string number_format(float cislo, int presnost, string desetinnaTecka, string oddelovacTisicu) Funkce může mít buď jeden, dva nebo čtyři parametry Prvni parametr je povinný - zadávané číslo Druhý parametr je zde požadovaná přesnost - neboli počet číslic za desetinnou tečkou poslední dvě jsou nepovinné, implicitně ',' a '.' Nebo pak by na to myslím šla použít funkce printf, o tom by jistě jeden přispěvatel mohl referovat:-) |
||
printf Profil |
#14 · Zasláno: 6. 6. 2005, 22:56:29
:-)
|
||
Mordae Profil |
#15 · Zasláno: 7. 6. 2005, 20:25:53
Pomoc, jen ne printf, zaklínám se vodou, lesem... ne, to sem nepatří, ale prosím, netahejte C do PHP, už tak je tam bordelu dost.
round($number, $decimalPlaces), nebo se mýlím? |
||
printf Profil |
#16 · Zasláno: 7. 6. 2005, 21:52:47
jenže funkci printf jsme do PHP nezatáhli my, ale jeho tvůrci, asi proto že je tak neskutečně božská :-)
ještě vhodnější je sprintf: $cislo = 0.0128200054169; $vysledek = sprintf ("%01.4f", $cislo); //0.0128 jinak bych taky použil round, ten sprintf je takovej univerzální asi je i náročnejší. |
||
temistokles Profil |
#17 · Zasláno: 8. 6. 2005, 22:04:14
diki vsetkym
|
||
Časová prodleva: 20 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0