19. juli 2018 - 12:49 Der er 2 kommentarer og
1 løsning

Problemer med multiplikation

Når jeg skriver:
alert( 0.02 * 35 )
så skriver javascript/jquary
0.7000000000000001

Hvordan kan det være at javascript regner forkert? Og hvordan kan jeg sørge for at den ikke regner forkert?

Jeg kender godt kommandoen .toFixed, men da jeg ikke altid kender det antal decimaler, som jeg har behov for, så er den ikke optimal i mit projekt.

Jeg kender også tricket med Math.round(100*tal)/100, men det giver samme problem som med toFixed, da jeg ikke kender mit antal af decimaler.

Jeg tænker, at 0.02 gange 35 egentlig er et ret simpel regnestykke, og det er bekymrende, at javascript ikke kan regne det korrekt ud!
19. juli 2018 - 15:49 #1
Hmm det er åbenbart noget man må leve med.
Jeg løste det ved at tælle hvor mange decimaler mine oprindelige tal havde tilsammen og så forkorte til det antal decimaler. Køn er løsningen ikke, men den virker da...
Avatar billede Rune1983 Ekspert
31. juli 2018 - 11:30 #2
Prøv dette.
(0.02 * 35).toFixed(2).replace(".",",");
Avatar billede Rune1983 Ekspert
31. juli 2018 - 11:32 #3
Hov. Du havde prøvet toFixed. Beklager
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

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