Při formátování čísel na webu se od sebe jednotlivé řády oddělují zúženou
nedělitelnou mezerou o šířce desetinné čárky po skupinách tří číslic směrem
zprava od desetinné čárky.
V české typografii používaná úzká mezera (znaková entita  ) je
na webu nahraditelná normální mezerou a nezlomitelnou aneb pevnou mezerou
(znaková entita ). S mezerou v čísle ale neumějí pracovat
hlasové čtečky pro zrakově postižené, které přečtou číslo jako dvě rozdělená
a uživatel tedy získá špatné údaje. Například v cenách elektronického
obchodu přečtou větší částku 1 234 Kč
jako dvě rozdělená čísla: jedna dvěstětřicetčtyři
.
Pro oddělení řádů v číslech, bez negativního vlivu na hlasové čtečky,
lze použít kombinaci neutrálního HTML elementu <span>
v místě rozdělení a CSS vlastnosti margin-left
pro vizuální
vytvoření prázdného místa. Pro automatizované doplnění tohoto oddělovače tisíců
lze ve skriptech v jazyku PHP využít formátovací funkci
number_format()
.
Pro oddělení jednotek od hodnoty používejte pevnou mezeru, aby zůstala přilepena k číslu a nezlomila se na další řádek.
12<span class="tisic"></span>234 Kč
Šířka mezery se může měnit v závislosti na zvoleném fontu. Velikost vodorovné mezery se doporučuje upravit podle šířky desetinné čárky.
.tisic {
margin-left: 0.5em; /* oddělovač tisíců místo mezery v HTML */
}
12234 Kč 98000000 Kč 98,000,000 Kč – srovnání s šířkou desetinné čárky
Funkce number_format()
změní formát čísla oddělením skupin
číslic po třech včetně zaokrouhlení na potřebný počet desetinných míst, ale jako
oddělovač tisíců lze použít pouze jeden znak. Tento oddělující znak je proto
nutné nahradit potřebným HTML kódem pomocí funkce str_replace()
.
function oddel_tisice($cislo)
{
$oddeleno = number_format($cislo, 2, ',', ':');
return str_replace(':', '<span class="tisic"></span>', $oddeleno);
}
echo oddel_tisice(1234567890.1055);
/* číslo s oddělenými tisíci: 1234567890,11 */
Naposledy upravil D.V. 13. prosince 2009