2011-06-29 15 views
5

Myślę, że nadszedł czas, aby uzyskać kilka opinii na temat javascript, nad którym pracuję w tej chwili.Wyliczenie JavaScript daje zbyt wiele cyfr zerowych

Próbuję utworzyć kalkulator, aby powiedzieć ludziom, czy mogą zaoszczędzić pieniądze, korzystając z subskrypcji itp. Obliczenia są wykonywane przez kilka wejść od klienta i niektóre wartości wstępne z Umbraco CMS.

Wynik uzyskany z kalkulatora w tej chwili jest "prawidłowy", ponieważ rzeczywiste liczby są poprawne, ale jest w nich za dużo zer.

Kalkulator można znaleźć tutaj: my calculator Dane

Test Używam jest następujące:

  • Antal ansatte: 4
  • Gennemsnitlig ordreværdi kr. (Około) 400
  • Antal ordrer årligt (około): 5500
  • Overskudsgrad (Hvad er det): 2,7

który daje wynik: 712800,0000000001

że próbowano podzielić to przez 100 i, oczywiście, po prostu przesunięto przecinek/kropkę dwa kroki w lewo. Nadal są te wszystkie zera.

Każda pomoc/podpowiedź jest bardzo doceniana! :-)

Dzięki z góry

Bo

PS: Wynik szukam byłoby 7128,00

Odpowiedz

8

Wydaje mi się, że chcesz wywołać metodę FIXed na swojej liczbie całkowitej.

(712800.00000001/100).toFixed(2) 
"7128.00" 

Zmieni to twój numer na ciąg znaków, ale jeśli służy do wyświetlania, powinno być dobrze.

+0

To było dokładnie to, co poszło nie tak! toFixed() konwertuje wartość na łańcuch znaków, przez przekształcenie go z powrotem w Number (string). Wielkie dzięki za wszystkie wkładki :) docenione! – bomortensen

2

można zrobić coś takiego:

value.toFixed(2); 

To zaokrąglania wszystkie swoje końcowe dziesiętne tylko 2.

0

Możesz użyć metoda round() tak:

var val = Math.round(val*100)/100 

to daje 2-miejsca po przecinku precyzji chcesz, z zaokrągleniem w razie potrzeby.

Powiązane problemy