Javascript неправомерно изменяет результат простого умножения. Как я могу это исправить?
function roundUp(num, precision) {
return Math.ceil(num * precision)/precision;
}
var num = 0.07;
var precision = 100;
console.log(roundUp(num, precision));
Когда аргументы функции является 0,07 и 100, «Num * точность» умножение дает что-то вроде «+7,000000000001» и функция CEIL округляет до 8. И я получаю совершенно другой результат без причины.
Как это исправить? У меня есть big.js, но я не мог это решить.
http://0.30000000000000004.com/ – cartant
какой результат будет там? –
Посмотрите на это: http://stackoverflow.com/questions/3072307/what-is-the-standard-solution-in-javascript-for-handling-big-numbers-bignum – ppasler