Tablora · Knihovna
Zkontrolujte 0.10 plus 0.20 přesnou desetinnou aritmetikou
Ověřte, že 0.10 plus 0.20 dává v desetinné aritmetice přesně 0.30, a porovnávejte uvedený součet bez artefaktů zobrazení čísel s plovoucí čárkou.
Proč může 0.1 plus 0.2 vypadat špatně
Mnoho programů ukládá čísla v binární plovoucí čárce, kde 0.1 a 0.2 nemají přesnou reprezentaci. Sečtěte je a uložený výsledek je nepatrně nad 0.3; podle formátování můžete vidět 0.30000000000000004 nebo porovnání, které tvrdí, že se hodnoty nerovnají. Při odsouhlasení takový artefakt vypadá jako nesoulad, který ve skutečnosti neexistuje.
Kontrola desetinného součtu se mu vyhne. Každou hodnotu čte jako desetinný řetězec, všechny hodnoty převede na stejný počet desetinných míst a sečte je jako celá čísla, takže 0.10 a 0.20 dají přesně 0.30.
Zadání řádků
- Napište nebo vložte částky do pole Jedna hodnota na řádek. Prázdné řádky se ignorují a mezery kolem hodnoty se oříznou.
- Používejte kanonický desetinný zápis: volitelné minus na začátku, číslice a tečku před desetinnou částí. Čárky mezi skupinami, desetinná čárka, znaménko plus nebo označení měny se odmítnou.
- Číslo, které chcete ověřit, zadejte stejným způsobem do Očekávaný součet.
- Klikněte na Vypočítat a přečtěte si Vypočtený součet, Očekávaný součet, Rozdíl a Součty se shodují.
Výsledek pro 0.10 a 0.20
S hodnotami 0.10 a 0.20 a s Očekávaný součet 0.30 je Vypočtený součet 0.30, Rozdíl 0.00 a Součty se shodují ukazuje Ano. Výsledek má dvě desetinná místa, protože jde o největší počet míst mezi vstupy a očekávaným součtem.
Rozdíl je vždy Vypočtený součet minus Očekávaný součet, takže záporný rozdíl znamená, že zadané řádky na uvedené číslo nedosahují.
Příprava hodnot ze skutečné tabulky
Částky zkopírované z výpisu jen zřídka přijdou v kanonickém tvaru. Sloupec nejprve prožente normalizátorem čísel s desetinným oddělovačem a oddělovačem skupin, které používá dokument, a převedené hodnoty pak zkopírujte do kontroly. Hodnota, kterou normalizátor zadržel ke kontrole, ještě do součtu nepatří; vyřešte ji, než součtu uvěříte.
Kontrola provádí přesnou aritmetiku nad tím, co zadáte, a nic víc. Nepřepočítává měny, nepoužívá daňová ani zaokrouhlovací pravidla a neřekne vám, zda byly zadány všechny záznamy.
Vstupy, které kontrola odmítne
- 1,234.50 s čárkou mezi skupinami nebo 1234,50 s desetinnou čárkou: nejprve je převeďte normalizátorem čísel.
- +5.00 se znaménkem plus: zadejte 5.00.
- .50 bez úvodní nuly: zadejte 0.50.
- (2.50) v závorkách: zadejte -2.50.
- Kterýkoli z nich zastaví celý výpočet hláškou Zkontrolujte zadané hodnoty a zkuste to znovu, takže se chybný řádek nikdy potichu nepřeskočí.
Vstupy
- Jedna hodnota na řádek
- 0.10 0.20
- Očekávaný součet
- 0.30
Výsledky
- Vypočtený součet
- 0.30
- Rozdíl
- 0.00
- Součty se shodují
- Ano