Hvordan fikse Floating-Point problemer i Javascript

Hvordan fikse Floating-Point problemer i Javascript


Javascript er en enkel, effektiv språk som kan legge til funksjonalitet og stil til et nettsted. Før du legger til et skript på en side for å utføre konverteringer eller beregninger, må du være oppmerksom på en feil i måten Java håndterer flyttall. Flyttall, eller flyter, er tall som inneholder desimaltall fraksjoner. På grunn av Javascript metode for lagring av disse tallene, kan resultatene av enkle beregninger noen ganger være overraskende. Legge tallene 0,01 og 0,06 med Javascript gir et resultat av 0,069999. Heldigvis finnes det en enkel måte å løse dette problemet.

Bruksanvisning

1 Tildele en flyttallsverdi til to variabler ved hjelp oppdraget operatør:

FirstFloat = 0,01;
SecondFloat = 0,06;

2 Multipliser begge verdiene av 10000 med følgende utsagn:

FirstFloat = FirstFloat

10000;
SecondFloat = SecondFloat 10000;

3 Legg begge variablene og tilordne resultatet til en tredje variabel med denne koden:

Resultat = FirstFloat + SecondFloat;

4 Del summen av 10 000 for å finne det riktige svaret med følgende uttalelse:

Resultat = Resultat / 10000;

5 Utgang svaret på skjermen ved hjelp av document.write funksjon:

document.write (resultat);

Hint

  • Øk nøyaktigheten av resultatene ved å øke multiplikatoren og divisor. Endre begge verdiene til 100 gir to desimaler av nøyaktighet. Hver null lagt til på slutten av multiplikator / divisoren legger en desimal av nøyaktighet.
  • Denne metoden fungerer på alle regneoperasjoner. Multipliser hver variabel før du utfører den ønskede operasjonen. Del svaret før du skriver eller bruker det i en annen beregning.
  • Multiplikatoren og divisor i avrundingen uttalelsen må alltid ha tilsvarende verdier.