2015-10-27 3 views
-1

Я хочу создать простой счетчик в Javascript, и у меня есть для него фрагмент. Проблема в том, что мне также хотелось бы, чтобы значение счетчика увеличивалось на значение десятичных знаков. Если я просто использую, например, значение «0.13» в качестве приращения, то я часто получаю результат: «0.230000000013» вместо просто «0,23». Я читал, что он может быть исправлен путем применения округления к результату (n * 100)/100), но я не смог его правильно реализовать.Счетчик JavaScript - округление результата

Мой код, как показано ниже:

var START_DATE = new Date("October 27, 2015 16:30:00"); // put in the starting date here 
var INTERVAL = 1; // in seconds 
var INCREMENT = 0.13; // increase per tick 
var START_VALUE = 0; // initial value when it's the start date 
var count = 0; 

window.onload = function() 
{ 
var msInterval = INTERVAL * 1000; 
var now = new Date(); 
count = parseInt((now - START_DATE)/msInterval,10) * INCREMENT + START_VALUE; 
document.getElementById('counter').innerHTML = count; 
setInterval("count += INCREMENT;document.getElementById('counter').innerHTML = count;", msInterval); 
} 

Я был бы признателен за любую помощь в этом.

Спасибо.

+0

Возможный дубликат (http://stackoverflow.com/questions/588004/is-floating-point-math-broken) – JJJ

+0

Возможный дубликат [JavaScript math, от двух до десяти знаков] (http://stackoverflow.com/questions/15762768/javascript-math-round-to-two-decimal-places) – Palpatim

ответ

1

Вы можете просто использовать toFixed(2) вместо [? Является ли плавающей точкой математике сломана]

document.getElementById('counter').innerHTML = count.toFixed(2) 
Смежные вопросы