Co kdybys to zkusil počítat celočíselně? Prostě všechna ta čísla vynásob stovkou -> posuň desetinnou čárku od dvě místa vpravo, a úplně nakonec výsledek tou stovkou zase vydělíš.
A kdybys sem ten soubor hodil, třeba jen konkrétní kus tabulky s odstraněnými ostatními údaji, tak by nám to s hledáním problému dost pomohlo
OT: Jinak v Excelu je těch bugů celá řada, jeden pochází dokonce až z roku 1979, uchovávají ho tam prý kvůli "zpětné kompatibilitě"
Chybné sčítání desetinných čísel v Excelu Vyřešeno
Re: Chybné sčítání desetinných čísel v Excelu
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Chybné sčítání desetinných čísel v Excelu
dobrej nápad farao
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Re: Chybné sčítání desetinných čísel v Excelu
ITCrowd píše:To těžko.
To by se stejná chyba objevovala třeba v linuchu a ve všech programovacích jazycích.
Myslis treba na webu v Javascriptu? :)
https://js.do/code/449950
Nebo v C/C++? (1 by se nemela vytisknout)
https://www.onlinegdb.com/ByARqcL2I
HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Chybné sčítání desetinných čísel v Excelu
Myslíš, že klikám na každý odkaz???
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Re: Chybné sčítání desetinných čísel v Excelu
OK, tak ja to popisu - jednoduchy priklad, zacne se nulou a dokud je vysledek mensi nez jedna, tak se zobrazi a pricte 0,1. Spravne by se tedy melo zobrazit 0-0,9.
Vysledek editoru Javascriptu:
0
0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999
Vysledek editoru C/C++:
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Vysledek editoru Javascriptu:
0
0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999
Vysledek editoru C/C++:
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W
- ITCrowd
- Tvůrce článků
-
Guru Level 13.5
- Příspěvky: 23605
- Registrován: březen 10
- Pohlaví:
- Stav:
Offline
Re: Chybné sčítání desetinných čísel v Excelu
java skript na woknech je stejný jako na vbs.
C je ok.
Čili jsi dokázal, že mám pravdu.
C je ok.
Čili jsi dokázal, že mám pravdu.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router
Re: Chybné sčítání desetinných čísel v Excelu
C taky neni OK, to by tu 1 nevytisknul. Interne bude mit opet neco jako 0,9999999999 (a proto cyklus projde jeste jednou a vytiskne tu zaokrouhlenou 1), ale na vystup to zaokrouhli na 1
HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W
Re: Chybné sčítání desetinných čísel v Excelu
Zivan píše:... tak se zobrazi a pricte 0,1. Spravne by se tedy melo zobrazit 0-0,9.
Ne, nemělo. Uvědom si, že počítač počítá ve dvojkové soustavě, a v ní je dělení deseti značně netriviální záležitost, podobně jako bys v té desítkové ručně na papíře dělil třeba sedmnácti.
Na rozdíl od desítkové je totiž binární 1/10 číslo s nekonečným desetinným rozvojem, podobně jako třeba Pí, ale počítač počítá jenom s konečnou přesností. Pročež jsem už od konce osmdesátých let v každé dobré učebnici programování (tehdy v BASICu) četl, že desetinné číslo se v cyklu přičítat nesmí! A ze stejného důvodu se desetinná čísla také nedají porovnávat pomocí =.
Takže takhle to bude nesprávně v Céčku:
Kód: Vybrat vše
n=0;
while (n<1)
{
n+=.1;
printf("%.16f\n",n);
}
A zcela chybný výsledek vypsaný s vyšší přesností:
Kód: Vybrat vše
0.1000000000000000
0.2000000000000000
0.3000000000000000
0.4000000000000000
0.4999999999999999
0.6000000000000000
0.7000000000000000
0.7999999999999999
0.8999999999999999
0.9999999999999999
1.0999999999999999
Zatímco správný způsob by byl:
Kód: Vybrat vše
n=0;
while (n<10)
{
n+=1;
printf("%.16f\n",n/10);
}
S očekávaným výsledkem:
Kód: Vybrat vše
0.1000000000000000
0.2000000000000000
0.3000000000000000
0.4000000000000000
0.5000000000000000
0.6000000000000000
0.7000000000000000
0.8000000000000000
0.9000000000000000
1.0000000000000000
Příčinu zjistíš takhle:
Kód: Vybrat vše
printf("\n%.17f\n",.1);
Kód: Vybrat vše
0.10000000000000001
Všechny ty výsledky jsou samozřejmě pouze přibližné, protože převodem z dvojkové do desetinné soustavy dochází k dalším odchylkám. Jediný způsob jak se tomu vyhnout je použít jazyk COBOL, určený pro bankovní operace, který počítá desítkově a všechna čísla ukládá v kódu BCD. Ale věř mi že to nechceš, programátoři v COBOLu jsou sice už přes šedesát let placení nejlépe ze všech, ale jsou to krvavě vydřené peníze
Naposledy upravil(a) faraon dne 04 čer 2020 21:23, celkem upraveno 1 x.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Chybné sčítání desetinných čísel v Excelu
Zkoušel jsi možnost "přesnost výpočtu podle zobrazení"?
Soubor-Možnosti-Upřesnit-Při výpočtech v tomto sešitu-zaškrtnout volbu "Nastavovat přesnost podle zobrazení" (Excel 2016)
Soubor-Možnosti-Upřesnit-Při výpočtech v tomto sešitu-zaškrtnout volbu "Nastavovat přesnost podle zobrazení" (Excel 2016)
Re: Chybné sčítání desetinných čísel v Excelu
faraon:
Fakt si myslis, ze udelam jednoduchy priklad pro ukazku chyby, tak mi musis vysvetlovat, co je na nem spatne? :)
Fakt si myslis, ze udelam jednoduchy priklad pro ukazku chyby, tak mi musis vysvetlovat, co je na nem spatne? :)
HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W
- Funstorm007
- Level 5
- Příspěvky: 2016
- Registrován: říjen 08
- Pohlaví:
- Stav:
Offline
Re: Chybné sčítání desetinných čísel v Excelu
Tak jsem vykousnul část tabulky aby bylo vidět jak původní číslo (sloupec C), které se v originále tahá z jiného listu ale vyjde to nastejno, tak přepočet na záporné/kladné (Sloupec D) podle hodnot ve sloupci B. No a výsledek v kontingenčce je vidět vedle...
http://leteckaposta.cz/899457599
http://leteckaposta.cz/899457599
Re: Chybné sčítání desetinných čísel v Excelu
Nešlo by to třeba přes Uložto? Letecká pošta se se mnou už delší čas nebaví, zřejmě proto že mám zablokované příliš agresivní reklamní servery
Nebo rovnou tady do SZ, těch dvacet kilobajtů se mi tam snad vejde.
Nebo rovnou tady do SZ, těch dvacet kilobajtů se mi tam snad vejde.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Graf v Excelu ukazuje chybné hodnoty. Příloha(y)
od atari » 25 dub 2024 08:42 » v Kancelářské balíky - 4
- 198
-
od atari
Zobrazit poslední příspěvek
25 dub 2024 13:28
-
-
- 18
- 3605
-
od luko02420
Zobrazit poslední příspěvek
16 kvě 2023 11:27
-
- 0
- 842
-
od Jsimi
Zobrazit poslední příspěvek
06 úno 2024 22:43
-
- 2
- 1329
-
od X
Zobrazit poslední příspěvek
02 čer 2023 18:06
-
-
Jak do Excelu dostat aktuální hodnotu z webové stránky? Příloha(y)
od Peťa » 10 lis 2023 09:41 » v Kancelářské balíky - 2
- 1993
-
od Peťa
Zobrazit poslední příspěvek
10 lis 2023 16:24
-
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 34 hostů