siDDis Skrevet 14. september 2007 Skrevet 14. september 2007 (endret) Eg har ein løkke som går 10 gonger, her plusser den på frå 0.0 til 1.0 med 0.1. Men når eg midt i løkka skriver alert og sjekker verdien så blir den av og til 0.89999999999 eller 0.3000000000004 Kva skyldes dette? Skjer både med Firefox og Opera. Endret 14. september 2007 av siDDIs
magicgunnar Skrevet 17. september 2007 Skrevet 17. september 2007 Eg har ein løkke som går 10 gonger, her plusser den på frå 0.0 til 1.0 med 0.1. Men når eg midt i løkka skriver alert og sjekker verdien så blir den av og til 0.89999999999 eller 0.3000000000004 Kva skyldes dette? Skjer både med Firefox og Opera. 9492743[/snapback] Dette skyldes vel at datamaskiner ikke regner i 10-tallsystemet, men i 2-tallsystemet. Dermed finnes ikke tallet 0.1, men blir isteden representert av et tall som ligger bittelitt over eller bittelitt under. En mer inngående forklaring hos Wikipedia.
pertm Skrevet 17. september 2007 Skrevet 17. september 2007 Hvis du regner 0,1 decimal om til binært vil du få en uendelig rekke med tall akkurat slik som 1/3 gir i decimal
LostOblivion Skrevet 17. september 2007 Skrevet 17. september 2007 Bruk heller heltall som telleverdier, og gjør dem om til flyttal når du skal bruke dem til noe.
siDDis Skrevet 17. september 2007 Forfatter Skrevet 17. september 2007 Eg fant ut av dette, det er ein funksjon som heiter toFixed() Den retter opp avrundingsfeil
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå