[Nápad] Chytrý number_format()

emololftw
Člen | 82
+
0
-

Dobrý den všem,

chtěl bych se zeptat, jestli není nebo nebude do latte implementována chytřejší funkce number_format()
Pokud přidělím tagu

{$var|number}

tak jsou čísla standardně separované tis. znakem ‚,‘
Pokud bych chtěl formátovat číslo pouze pokud má desetinná čárku, je nutný krátký if:

{if is_float($workplace)}{$workplace|number:2,',', ' '}{else}{$workplace|number:0,',', ' '}{/if}

Nemáte někdo řešenou problematiku jinak?
Děkuji a přeji příjemný zbytek dne.

Kamil Valenta
Člen | 820
+
+1
-

Řeším vlastními filtry, kde mám formátování pro číslo v html, číslo v csv, měnu…

Lumeriol
Generous Backer | 63
+
+1
-

Nejjednodušší je napsat si vlastní filtr, který ti tohle bude řešit a pak si už na danou proměnnou zavoláš právě ten svůj konkrétní filtr.
Inspirovat se můžeš například tady. Jen je třeba si kód od @ali upravit pro aktuální verzi Nette, funguje pak kdekoliv v celé aplikaci.

Případně zabrouzdat do dokumentace.

emololftw
Člen | 82
+
0
-

Kamil Valenta napsal(a):

Řeším vlastními filtry, kde mám formátování pro číslo v html, číslo v csv, měnu…

Máte pravdu, každý má v hlavě jinou definici „správného“ formátu čísla. Filtry jsou elegantní a super řešení.
Děkuji

h4kuna
Backer | 740
+
0
-

Já používám NumberFormat je tam popsáno i jak to zapojit do Nette jako vlastní filter.

Editoval h4kuna (9. 10. 2023 14:18)