Я использовал ниже два метода:
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.
Эта ошибка создает разницу в бит в конечном выходе. Так может ли кто-нибудь помочь мне разобраться с этим?