Autor | Zpráva | ||
---|---|---|---|
P3T3R Profil |
Dobrý deň,
mám takýto problém, mám číslo, ktoré sa mení napr. 123789,01 Potrebujem aby číslo 123 789,01 a vypísalo len prvé 3 znaky, teda 123 Keďže sa číslo mení, takže to môže byť 12 345,67 a potrebujem aby vypísalo len 12. A keďže ešte môže byť 1 234 567,89 tak potrebujem aby vypísalo 1 Ďakujem Peter |
||
ahoj Profil * |
#2 · Zasláno: 10. 3. 2012, 09:27:11
P3T3R:
„Potrebujem aby číslo vypísalo ako 123 789,01 a vypísalo len prvé 3 znaky, teda 123“ Dává ti ta věta smysl? |
||
P3T3R Profil |
#3 · Zasláno: 10. 3. 2012, 09:35:45
ahoj:
„Dává ti ta věta smysl?“ Písal som to v rýchlosti a myslím, že si to dobre pochopil, len sa netreba robiť niekedy veľmi zaujímavým ;) |
||
ahoj Profil * |
#4 · Zasláno: 10. 3. 2012, 09:41:44
P3T3R:
„myslím, že si to dobre pochopil“ Snažím se, ale nejsem si jist. Vypadá to, že chceš z řetězce získat tu část, která je před první mezerou. Co když tam mezera není? |
||
P3T3R Profil |
ahoj:
„Co když tam mezera není?“ No ja potrebujem len rozdelenie čísel a aby vypísalo tie čísla pred medzerou. Medzery tam nemusia byť, ide mi len o vypísanie toho čísla. |
||
ahoj Profil * |
#6 · Zasláno: 10. 3. 2012, 09:57:11
ok, zkrátíme to. Jen jsem se zamyslel nad tím, jak postupně klesá schopnost zformulocvat otázku.
$vstup = "21 000"; list ($vystup, $zbytek) = explode (" ", $vstup); echo $vystup; |
||
P3T3R Profil |
#7 · Zasláno: 10. 3. 2012, 10:01:50
ahoj:
No toto viem aj ja, že ak by bolo číslo 21 000 alebo 123 000 000 tak mám použiť explode, ale problém je v tom, že číslo je spolu 21000 alebo 123000000, teda nemá žiadne medzery. |
||
Str4wberry Profil |
#8 · Zasláno: 10. 3. 2012, 10:14:37
V podstatě je cílem jen zjistit počet tisíců/milionů, ne? K tomu ti stačí číslo vydělit a zaokrouhlit.
|
||
P3T3R Profil |
#9 · Zasláno: 10. 3. 2012, 10:18:30
Str4wberry:
No v podstate áno a potom použiť ten script vyššie cez explode |
||
Keeehi Profil |
$cislo = 1234567890; echo "jednotky - stovky" . (floor($cislo) % 1000) . "<br>\n"; echo "tisíce - statisíce" . (floor($cislo/1000) % 1000) . "<br>\n"; echo "miliony - stamiliony" . (floor($cislo/1000000) % 1000) . "<br>\n"; echo "miliardy - stamiliardy" . (floor($cislo/1000000000) % 1000) . "<br>\n"; echo "zbytek co je ještě větší" . (floor($cislo/1000000000000) % 1000) . "<br>\n"; |
||
ahoj Profil * |
#11 · Zasláno: 10. 3. 2012, 10:58:55
<?php $vstup = 314159; $len = strlen(floor($vstup)); $len = $len % 3; if ($len==0) {$len = 3;} echo substr ($vstup, 0, $len); ?> |
||
Keeehi Profil |
#12 · Zasláno: 10. 3. 2012, 11:09:16
ahoj:
Ale fuj. Proč s číslem pracuješ jako s řetězcem, když se to dá vyřešit jen čistě pomocí matematiky? |
||
ahoj Profil * |
#13 · Zasláno: 10. 3. 2012, 11:23:24
Keeehi:
„Proč s číslem pracuješ jako s řetězcem“ :-) čekal jsem to, naběhl jsem si. Lze to ošetřit pomocí strval(). Další nevýhody: - na pohled je to méně čitelné - asi to bude trochu náročnější na čas Oproti tvému vidím výhodu, že to nemá omezení velikosti. Přiznávám, chtěl jsem se jen odreagovat a ukázat trochu jinou cestu. |
||
Keeehi Profil |
#14 · Zasláno: 10. 3. 2012, 11:51:34
Možností je hodně. Další je třeba tato:
explode (" ", number_format(floor($cislo), 0, " ", " ")); |
||
Časová prodleva: 12 let
|
0