Autor Zpráva
gaminn
Profil *
Zdravím,
neví někdo o nějaké funkci, která dokáže formátovat čísla a částky podle lokálního nastavení (nebo po předání tohoto lokálního nastavení parametrem)?
gaminn
Profil *
OK, asi si ji budu muset vytvořit. Mohl by mi tedy někdo vysvětlit, jak přesně si vyložit význam prvků pole, které je výstupem funkce localeconv(), s indexem grouping, resp mon_grouping. Např. pro češtinu dostanu mimo jiné:

[mon_grouping] => Array
(
[0] => 3
)

Mám si to vysvětlit tak, že po každých třech číslicích následuje oddělení mezerou? Proč má potom třeba nizozemština toto:

[mon_grouping] => Array
(
[0] => 3
[1] => 3
)

Jak jsem to pochopil, tak mi přijde, že prvek 1 je už definován zbytečně, pokud má stejnou hodnotu jako předchozí.



V manuálu je takové vysvětlení:

The grouping fields contain arrays that define the way numbers should be grouped. For example, the monetary grouping field for the nl_NL locale (in UTF-8 mode with the euro sign), would contain a 2 item array with the values 3 and 3. The higher the index in the array, the farther left the grouping is. If an array element is equal to CHAR_MAX, no further grouping is done. If an array element is equal to 0, the previous element should be used.

V poslední větě je řečeno, že pokud poslední prvek má hodnotu nula, má se použít předchozí prvek. Je tou hodnotou nula myšleno to, že prostě další prvek není definován (testování na isset())?
gaminn
Profil *
Opravdu nikdo nemá tušení? Ještě jsem pozapomněl na položku thousands_sep (oddělovač tisíců). K čemu ten je? Pokud mám přece

[grouping] => Array
(
[0] => 2
)

Tak mě nějaký oddělovač tisíců nemusí zajímat, pokud má být číslo podle grouping formátované jako 12 34 56 78. Nebo jsem prostě úplně vedle? ;)
malek8
Profil *
hm neviem presne o co ti ide ale

number_format('cislo',' pocet desatinych', 'odelovac desatin', 'odelovac tisicin ');

ale oto asi nejde :D
gaminn
Profil *
Nn, o to mi nešlo. Ptal jsem se na to, jak pochopit význam jednotlivých položek pole, které vrací localeconv().

Myslím ale, že jsem to snad pochopil dobře. Udělal jsem si funkce, které formátují čísla a měnu podle lokálního nastavení a nezdá se, že bych to pochopil špatně;) Snad...
Toto téma je uzamčeno. Odpověď nelze zaslat.