Oddělovač tisíců neboli řádů v číslech na webu
  • úvodní stránka webu
  • Oddělovač tisíců neboli řádů v číslech na webu

    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  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().

    HTML kód pro oddělení řádů

    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&nbsp;Kč
    

    CSS kód oddělovače

    Šíř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 */
    }
    

    Ukázka oddělovače bez použití mezery

    12234 
    98000000 
    98,000,000  – srovnání s šířkou desetinné čárky
    

    Skript pro doplnění oddělovače v PHP

    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 */
    

    Související odkazy


    Naposledy upravil D.V. 13. prosince 2009