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

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
  • Вопрос задан
  • 626 просмотров
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
Добро пожаловать в мир вычислений с плавающей точкой! Это вполне нормальное поведение и оно такое везде. Если нужна высокая точность - используйте BigNumber/Decimal и т.п.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@gsaw
Все верно сделано, просто потом использовать toFixed(8) что бы конвертировать в строку. И эту строку уже использовать в API и в UI.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект