Sowas laesst mich ja nicht los ;-) Nachdem ich mir fast die Finger
gebrochen habe mit CDbl, formatNumber etc. jetzt folgendes
function calcIt(kommazahl)
dim ganzZahl, grenzWert
ganzZahl = INT(kommazahl)
grenzWert = ganzZahl+0.01
reponse.write kommazahl & ": "
if kommazahl<grenzWert then
response.write "zu klein"
else
response.write "ok"
end if
response.write "<br>"
end function
Output:
calcIt(2.01) --> ok
calcIt(2.009) --> zu klein
Aber Problem bei:
calcIt(2.009999999999999999) --> ok
(Problem siehe Claudius' Posting)
Vielleicht ist das ja ein Ansatz...
CU
Schmiddl
http://www.drhirn.com/42
Am Mittwoch, 21.08.02 um 11:49 Uhr schrieb Claudius Ceteras:
>
>> wie kann ich dennoch eine exakte funktion schreiben??
>> (ohne dinge wie cint(zahl*100) zu machen...)
>
> Gar nicht.
> Das ist kein Problem von VBScript, sondern ein allgemeines. Es lassen
> sich nicht jede Zahl exakt als bin�rzahl darstellen.
> Nur mal als Beispiel: die Zahl 1/3 ist im Zehner-System nicht exakt
> darstellbar. 0.3333333.. Irgendwann muss man aufh�hren und bekommt
> dadurch eine Ungenauigkeit. Im Dreier-System ist es aber genau
> darstellbar: 0.1
>
> Du kannst den "zahl*100"-Trick verwenden, ansonsten pr�fe halt nicht
> auf
> 0.01 sondern auf 0.01001 o.�....
>
> Claudius
>
>
> | [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> |
> http://www.aspgerman.com/aspgerman/listen/anmelden/> aspdecoffeehouse.asp
>
>
| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp