Excel neumí ani opisovat čísla s desetinnou čárkou

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Zamčeno
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3375
Registrován: 24 říj 2008 19:50

Excel neumí ani opisovat čísla s desetinnou čárkou

Příspěvek od atari »

Že Excel neumí správně sčítat číslo s desetinou čárkou jsem si zvykl, nedávno se to tu probíralo.

Ale on nejenom, že neumí počítat desetinná čísla, on je ani neumí opsat !!

Níže uvedený kod mi do buňky B2 zapíše "21,6900005340576" místo 21,69 .

Co s tím? Tu deklaraci tam potřebuji.

(Objednal jsem si za peníze šablonu xml na export účetních dat z Excelu, a výsledky byly chybné, až jsem zjistil, že za to může Excel touto svojí vlastností :mad: .... )

Kód: Vybrat vše

Public cislo As Single

Sub test()
cislo = 21.69
Range("B2") = cislo
End Sub
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: Excel neumí ani opisovat čísla s desetinnou čárkou

Příspěvek od faraon »

To bude zrovna jedno z těch čísel s nekonečným desetinným rozvojem, podobně jako 1/10 :huh:

Jestli je v Excelu typ Single čtyřbajtový, jak obvykle bývá, tak má po převodu do desítkové soustavy sedm platných číslic. Na školní výpočty dobré, ale jinak úplně k hovnu. ZX Spectrum počítal přesněji! A Atari BASIC dokonce v BCD stejně jako COBOL, takže tam by tyhle problémy odpadly úplně :lol:

Stalo by se něco, kdybys to nadeklaroval jako Double? Většinou to stačí. M$ QuickBASIC (z roku 1990) znal dokonce datový typ Currency, který sloužil speciálně k finančním výpočtům. Měl pevný počet desetinných míst (mám pocit že čtyři) a nedělal spousty binárních chyb.

P.S. Zkus ho tam dát jako 2169/100, jestli se něco změní.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Uživatelský avatar
satik
Level 6
Level 6
Příspěvky: 3509
Registrován: 09 led 2015 12:49
Bydliště: Krkonoše
Kontaktovat uživatele:

Re: Excel neumí ani opisovat čísla s desetinnou čárkou

Příspěvek od satik »

To není vlastnost Excelu, ale obecne vlastnost nejbeznejsiho formatu desetinnych cisel pouzivaneho na PC, protoze desetinna cisla jsou na PC ulozena ve dvojkovem formatu a jeste v podstate jako nejaka mocnina.

Zkusit vyresit to muzes budto vyse zminovanym deklarovanim jako double (coz muze pomoct za predpokladu, ze ta nepresnost vznika pri prevodu tveho Single na Double, ktery zobrazuje Excel) a nebo muzes vypisovat cislo jen na nekolik desetinnych mist.
PC: MSI RTX 4090 Suprim X, AMD Ryzen 9 7950x3D, ASUS Crosshair HERO X6670E, 64GB RAM@6000CL30, Fractal Define Torrent, Seasonic PRIME TX 1600W, SSD Seagate Firecuda 530 M2 2TB +
4TB + 4TB SATA Micron 5200 ECO
Periferie: Samsung Odyssey G9 Neo + 2x AOC AG271QG, Razer Deathadder, Ducky Shine7, Steelseries QcK+, Beyerdynamic MMX300, Valve Index
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3375
Registrován: 24 říj 2008 19:50

Re: Excel neumí ani opisovat čísla s desetinnou čárkou

Příspěvek od atari »

2169/100 to jsem zkoušel a nepomohlo.

Ale ta deklarace Double pomohla. Dík za tip.
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přechod z Excel 21 na Excel 24
    od Snekment » » v Kancelářské balíky
    2 Odpovědi
    14215 Zobrazení
    Poslední příspěvek od Snekment
  • Pohoda a excel
    od brownwld » » v Kancelářské balíky
    1 Odpovědi
    7196 Zobrazení
    Poslední příspěvek od atari
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » » v Kancelářské balíky
    5 Odpovědi
    5728 Zobrazení
    Poslední příspěvek od atari
  • Excel 2016 - vzorec kombinace podmínek
    od MK_Vs » » v Kancelářské balíky
    5 Odpovědi
    5955 Zobrazení
    Poslední příspěvek od lubo.

Zpět na „Kancelářské balíky“