HighDots Forums  

Rechenfehler in Opera

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Rechenfehler in Opera in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Markus Machner
 
Posts: n/a

Default Rechenfehler in Opera - 07-10-2007 , 11:13 AM






Hallo alle

Opera (Mobile Opera 7 ist das hier glaube ich, das Dingens im
Nokia-Communicator 9500) mag folgende Schreibweise nicht:

var x = 24.999;

var x = 24999e-3; dagegen funktioniert.

Andere Browser haben da keine Probleme. Weiß jemand woran das liegen könnte?

Gruß,
Markus

Reply With Quote
  #2  
Old   
Martin Honnen
 
Posts: n/a

Default Re: Rechenfehler in Opera - 07-10-2007 , 11:49 AM






Markus Machner wrote:

Quote:
Opera (Mobile Opera 7 ist das hier glaube ich, das Dingens im
Nokia-Communicator 9500) mag folgende Schreibweise nicht:

var x = 24.999;
Was bedeutet "mag nicht" ganz genau? Gibt es eine Fehlermeldung?


--

Martin Honnen
http://JavaScript.FAQTs.com/


Reply With Quote
  #3  
Old   
Markus Machner
 
Posts: n/a

Default Re: Rechenfehler in Opera - 07-11-2007 , 12:32 AM



Martin Honnen schrieb:
Quote:
Markus Machner wrote:

Opera (Mobile Opera 7 ist das hier glaube ich, das Dingens im
Nokia-Communicator 9500) mag folgende Schreibweise nicht:

var x = 24.999;

Was bedeutet "mag nicht" ganz genau? Gibt es eine Fehlermeldung?
Ups, Beschreibung vergessen. Er rechnet dann mit Integer. Fehlermeldung gibt
es keine.

var x = 24.999;
var y = 1;

x + y = 25

var x = 24999e-3;
var y = 1;

x + y = 25.999

Ich habe keine Beschreibung gefunden, daß man in JavaScript Float irgendwie
gesondert angeben muß und in anderen Browsern funktioniert das ja.
Zum Browser selbst steht nur dabei: "Copyright 1995-2006 Opera Software ASA.
All Rights reserved." Keine weiteren Angaben welche Version das genau ist.
AFAIK beruht der MobileOpera im Communicator auf dem 7er. Updaten geht auch
nicht, da er "festverdrahtet" ist und Nokia bietet auch kein Firmwareupdate
an (6.27.0 ist die aktuellste).
Ein bischen unbefriedigend, da ich fremden JS bei Berechnungen nicht
vertrauen kann.

Gruß,
Markus



Reply With Quote
  #4  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Rechenfehler in Opera - 07-31-2007 , 03:51 PM



Markus Machner wrote:
Quote:
Martin Honnen schrieb:
Markus Machner wrote:
Opera (Mobile Opera 7 ist das hier glaube ich, das Dingens im
Nokia-Communicator 9500) mag folgende Schreibweise nicht:

var x = 24.999;
Was bedeutet "mag nicht" ganz genau? Gibt es eine Fehlermeldung?

Ups, Beschreibung vergessen. Er rechnet dann mit Integer. Fehlermeldung gibt
es keine.

var x = 24.999;
var y = 1;

x + y = 25

var x = 24999e-3;
var y = 1;

x + y = 25.999

Ich habe keine Beschreibung gefunden, daß man in JavaScript Float
irgendwie gesondert angeben muß
Muss/kann man auch in ECMAScript-3-Implementationen nicht. Diese kennen
nur einen numerischen Datentyp, der IEEE-754 Doubles implementiert.
Diese Genauigkeit von 1+11+52 Bit (Vorzeichen+Exponent+Signifikant)
reicht aus, um obige Operationen durchzuführen.[1]

Entweder liegt es daran, wie Du die Summe berechnest, oder wie Du sie
ausliest, oder es ist ein Bug (Letzteres wäre bei der Opera-Version

Quote:
[...] 6.27.0 [...]
nicht ungewöhnlich).


PointedEars
___________
[1] http://babbage.cs.qc.edu/IEEE-754/Decimal.html
--
Prototype.js was written by people who don't know javascript for people
who don't know javascript. People who don't know javascript are not the
best source of advice on designing systems that use javascript.
-- Richard Cornford, <f806at$ail$1$8300dec7 (AT) news (DOT) demon.co.uk>


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.