Portál AbcLinuxu, 9. května 2025 23:34

Dotaz: Lepší zápis pro funkci number_format()

23.4.2012 20:15 Arnošt
Lepší zápis pro funkci number_format()
Přečteno: 798×
Odpovědět | Admin
Ahoj, poradí někdo lepší zápis? Je to samá čárka a apostrof a prase aby se v tom vyznalo :( Díky za help.
echo number_format($row['price'], 0, ',', ' ').',- Kč';
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.4.2012 20:38 Kit
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Odpovědět | | Sbalit | Link | Blokovat | Admin
echo number_format($row['price'], 0, ',', ' ').' Kč';
23.4.2012 20:40 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Odpovědět | | Sbalit | Link | Blokovat | Admin
A perl už jsi viděl? (Když uvažuji ty rozšířené jazyky.)

Zápis je naprosto čitelný, v argumentech čárka a mezera, nevidím nic nepatřičného.

Mohl bys čárku a mezeru dát do proměnných $comma a $space, a cenu do samostatné proměnné $price, ale bylo by to zbytečné zvýšení složitosti.
23.4.2012 20:42 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud to někde edituješ či prezentuješ, barvičky jsou Tvůj přítel:
echo number_format($row['price'], 0, ',', ' ').',- Kč';
23.4.2012 20:47 Kit
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Jenže tak je to typograficky špatně. Ta čárka se spojovníkem tam být nesmí. Buď je tam čárka a pomlčka (,–), anebo " Kč". Obojí současně je nepřípustné.
23.4.2012 22:07 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
No to je fakt, díky tomu se i ten (programový) zápis stane také trochu čitelnějším :)
23.4.2012 21:09 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Odpovědět | | Sbalit | Link | Blokovat | Admin
echo number_format($row['price'], 0, ',',' '),',- Kč';
Jeden typ znaku jsem vypustil a je to méně náročnější. :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
23.4.2012 22:10 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Nechci domejšlet... co znamená "méně náročnější"? Zatím mi to připadá jen špatně zformátované (chybí mezera za čárkou oddělující argumenty funkce), změny v náročnosti (ať už je tím myšleno cokoliv) nepozoruji.
23.4.2012 22:31 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Méně náročnější:
echo 'kuk','baf';
Více náročnější na provedení/zpracování:
echo 'kuk'.'baf';
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
23.4.2012 22:11 Kit
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Pořád tam přebývá ta čárka se spojovníkem. Tím se dá vypustit další typ znaku :-)
23.4.2012 22:39 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
To je věc názoru, pokud to tak chce, já taky tak zapisuji, Je třeba ukončit číslo a uvést měnu a je mi putna jak je to typograficky, protože důležitá je informace. Když dám měnu před číslo, tak na to každý čumí jak na widle.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
23.4.2012 22:56 Kit
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Označení měny patří až za číslo, ale to neřešíme. Správně jsou zápisy
123 456,–
123 456 Kč
123 456,78 Kč
ale už není správně mix těchto zápisů, navíc se spojovníkem místo pomlčky
123 456,- Kč
23.4.2012 23:03 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Opakuji, byť to není typograficky OK, používám to taky tak, protože na
Kč 123 456,–
každý čumí jak na widle a číslo prostě chci mít ukončené a měnu tam chci taky, když to má být pro někoho v aplikačce tak
123 456,00 Kč
a je pokoj - tomu rozumí všichni a číslo je ukončené.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
23.4.2012 22:42 chrono
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Odpovědět | | Sbalit | Link | Blokovat | Admin
Rozumnejšie je mať na serveri nainštalované "locale" pre všetky potrebné jazyky a potom sa jednoducho použije
setlocale(LC_MONETARY, 'cs_CZ');
echo money_format($row['price']);
(a rovnako sa dajú vyriešiť aj prípadné problémy s formátom zobrazovaných čísel a dátumov)
23.4.2012 22:56 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
Opravička:
echo money_format("%n", $row['price']);
nebo případně:
echo money_format("%i", $row['price']);
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
23.4.2012 23:04 Kit
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
To bude asi nejlepší řešení. Trochu jsem si to upravil, protože mě zlobilo kódování:
setlocale(LC_MONETARY, "cs_CZ.UTF-8");
echo money_format("%n",$row['price']);
23.4.2012 23:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Lepší zápis pro funkci number_format()
No ale pak to musí být v nowrap kontejneru, nebo ještě zaměnit space za   člověk si moc nevybere :(
Na toto formátování si raději dělávám (kopíruji) fce, jejichž implementace se mohou opírat o cokoliv.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.