Я использовал ниже два метода:
Number.prototype.myRound = function (decimalPlaces) {
var multiplier = Math.pow(10, decimalPlaces);
return (Math.round(this * multiplier) / multiplier);
};
alert((239.525).myRound(2));
Математически предупреждение должно быть 239.53
, но оно дает 239.52
как вывод.
Поэтому я попытался использовать функцию .toFixed()
, и я получил правильный ответ.
Но когда я пытаюсь получить ответ для 239.575
, он снова выводит неверный вывод.
alert((239.575).toFixed(2));
Здесь вывод должен быть 239.58
, вместо этого он дает 239.57
.
Эта ошибка создает разницу в бит в конечном выходе. Так может ли кто-нибудь помочь мне разобраться с этим?