Fann den här lilla godbiten: http://groups.google.com/group/microsof ... d5400dfe22
"=40000.223
=41000.348
=52000.723
Such numbers are converted to:
=40000.2229999999
=41000.3479999999
=52000.7229999999"
"
"Simply when you try to multiply 850 by 77.1 excel display the result to be
100000 !!! "
"What's even stranger is this: Suppose the formula is in A1.
=A1+1 returns 100001, which appears to show the formula is in fact 100000
and a very Serious problem.
And if you multiply be say, 2 you get something else:
=A1*2
returns 131070, as if A1 had 65535. (which it should have been)
=A1*1
Keeps it at 100000.
=A1-1 returns 65534
=A1/1 is still 100000
=A1/2 retuns 32767.5
Using MAX() on a range appears not to see 100000.
Very Serious! "
Multiplicera i excel 2007
- Mekaniserad Apelsin
- Hedersmedlem
- Inlägg: 3777
- Blev medlem: 27 maj 2006, 12:24
- OS: Ubuntu
- Ort: Stockholm
- Kontakt:
Multiplicera i excel 2007
More Mekaniserad at http://blippe.se.
- per9000
- Inlägg: 931
- Blev medlem: 07 maj 2007, 11:06
- OS: Ubuntu
- Utgåva: 23.04 Lunar Lobster
- Ort: Västerås
- Kontakt:
SV: Multiplicera i excel 2007
Varken python, octave eller google får det svaret - konstigt att dessa har fel helt oberoende av varandraMekaniserad Apelsin skrev: [...]
"Simply when you try to multiply 850 by 77.1 excel display the result to be
100000 !!! "
[...]

Kod: Markera allt
>python
[...]
>>> 850*77.1
65534.999999999993
>>> exit()
>octave
[...]
octave:1> 850*77.1
ans = 6.5535e+04
octave:2> exit
/Per
-
- Inlägg: 6191
- Blev medlem: 14 jan 2007, 19:31
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Stockholm
SV: Multiplicera i excel 2007
Sådana här "buggar" brukar påpekas lite då och då, i allt ifrån miniräknare till Excel. Det är helt normalt beteende för flyttal eftersom talen representeras binärt. Talet 40000.223 är exakt lika med 40000 + 2/10 + 2/100 + 3/1000, men endast ungefär lika med 40000 + 1/8 + 1/16 + 1/32 + 1/256 + 1/4096 + 1/16384 ... Försök själv och se hur nära du kommer, men med ett begränsat antal bitar kan man inte alltid få det exakta värdet.Mekaniserad Apelsin skrev: "=40000.223
=41000.348
=52000.723
Such numbers are converted to:
=40000.2229999999
=41000.3479999999
=52000.7229999999"
"
Felet med 850*77.1 måste ju däremot vara ganska pinsamt för Microsoft.
- Mekaniserad Apelsin
- Hedersmedlem
- Inlägg: 3777
- Blev medlem: 27 maj 2006, 12:24
- OS: Ubuntu
- Ort: Stockholm
- Kontakt:
SV: Multiplicera i excel 2007
Jag visste att jag förr eller senare skulle bli kallad p den, men det passade så fint in med resten.Lars skrev: Sådana här "buggar" brukar påpekas lite då och då, i allt ifrån miniräknare till Excel. Det är helt normalt beteende för flyttal eftersom talen representeras binärt. Talet 40000.223 är exakt lika med 40000 + 2/10 + 2/100 + 3/1000, men endast ungefär lika med 40000 + 1/8 + 1/16 + 1/32 + 1/256 + 1/4096 + 1/16384 ... Försök själv och se hur nära du kommer, men med ett begränsat antal bitar kan man inte alltid få det exakta värdet.
More Mekaniserad at http://blippe.se.