Почему некорректно работает округление?

let convertMina =1.23610000; // это число округляем к меньшему и сводим к кратному 0.10000000
// написал функцию
function rstMINAUSDT(num,stepSize=0.10000000){return Math.floor(num/stepSize)*stepSize;}
console.log(rstMINAUSDT(convertMina));
// что получаю в терминале ---->>>>  1.2000000000000002
/// почему???? Должно быть ----  1.20000000
  • Вопрос задан
  • 624 просмотра
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
Добро пожаловать в мир вычислений с плавающей точкой! Это вполне нормальное поведение и оно такое везде. Если нужна высокая точность - используйте BigNumber/Decimal и т.п.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gsaw
Все верно сделано, просто потом использовать toFixed(8) что бы конвертировать в строку. И эту строку уже использовать в API и в UI.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы