Avatar billede esquimal Nybegynder
09. maj 2003 - 18:35 Der er 8 kommentarer og
1 løsning

Meget mystisk asp, kan ikke regne??

Jeg sidder over for et noget mystisk problem. Hvis jeg udfører nedenstående udregning bliver resultatet meget underligt:

Result = 1.7 - 1.6

Response.Write Result

Output: 9,99999999999999E-02

Men hvis jeg derimod skriver:

Result = 1.8 - 1.7

Response.Write Result

Output: 0,1

What to do???
Avatar billede roenving Novice
09. maj 2003 - 18:36 #1
Det er bare videnskabelig notation:

9,99999999999999E-02 = 0,0999999999999999
Avatar billede clausn Nybegynder
09. maj 2003 - 18:36 #2
Hvad hvis du erstatter dit punktum med et komma?
Avatar billede human Nybegynder
09. maj 2003 - 18:38 #3
roenving: Men det burde vel enlig give 0,1 ligesom 1.8 - 1.7 gør... Og ikke 0,099999..., selvom det er næsten det samme.
Avatar billede roenving Novice
09. maj 2003 - 18:38 #4
E-02 betyder flyt kommaet -2 pladser mod højre (dvs. 2 pladser til venstre)
Avatar billede esquimal Nybegynder
09. maj 2003 - 18:38 #5
roenving:

aahhhh selvfølgelig, det skal bare lige roundes så. Men hvorfor i alverden gør den så ikke når man skriver 1.8 - 1.7?
Avatar billede clausn Nybegynder
09. maj 2003 - 18:40 #6
Result= 1.7 - 1.6

Response.Write Round(result,2)
Avatar billede roenving Novice
09. maj 2003 - 18:41 #7
Ja, men der er en ende på, hvor præcist der regnes -- og oftest repræsenteres tallene internt med en oversættelse i et binært format, à la:

1 + 1 * 1/2 + 0 * 1/4 + 0 * 1/8 + 1 * 1/16 osv.

Derfor kan nogle give en marginal afvigelse f.eks. på 15.ciffer, som i dit tilfælde -- bare dit behov er eet ciffer kortere er det helt præcist ...
Avatar billede esquimal Nybegynder
09. maj 2003 - 18:42 #8
ok lyder fornuftigt :O)
Avatar billede roenving Novice
09. maj 2003 - 18:43 #9
-- og takker for points ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester