Multiplicera i excel 2007

Allt om t.ex. Mac OS X, Sun Solaris och Microsoft Windows
Användarvisningsbild
Mekaniserad Apelsin
Hedersmedlem
Inlägg: 3777
Blev medlem: 27 maj 2006, 12:24
OS: Ubuntu
Ort: Stockholm
Kontakt:

Multiplicera i excel 2007

Inlägg av Mekaniserad Apelsin »

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! "
More Mekaniserad at http://blippe.se.
Användarvisningsbild
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

Inlägg av per9000 »

Mekaniserad Apelsin skrev: [...]
"Simply when you try to multiply 850 by 77.1 excel display the result to be
100000 !!! "
[...]
Varken python, octave eller google får det svaret - konstigt att dessa har fel helt oberoende av varandra :D

Kod: Markera allt

>python
[...]
>>> 850*77.1
65534.999999999993
>>> exit()

>octave
[...]
octave:1> 850*77.1
ans =  6.5535e+04
octave:2> exit
http://www.google.se/search?hl=sv&q=850*77.1

/Per
--
Per Erik Strandberg
Yet Another IT Consultant
Lars
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

Inlägg av Lars »

Mekaniserad Apelsin skrev: "=40000.223
=41000.348
=52000.723

Such numbers are converted to:

=40000.2229999999
=41000.3479999999
=52000.7229999999"

"
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.

Felet med 850*77.1 måste ju däremot vara ganska pinsamt för Microsoft.
Användarvisningsbild
Mekaniserad Apelsin
Hedersmedlem
Inlägg: 3777
Blev medlem: 27 maj 2006, 12:24
OS: Ubuntu
Ort: Stockholm
Kontakt:

SV: Multiplicera i excel 2007

Inlägg av Mekaniserad Apelsin »

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.
Jag visste att jag förr eller senare skulle bli kallad p den, men det passade så fint in med resten.
More Mekaniserad at http://blippe.se.
Skriv svar

Återgå till "Proprietära operativsystem"