Я знаю, что естьКак получить только целую часть длинного числа с плавающей точкой с JS?
Math.floor
parseInt
Но об этом случае:
Math.floor(1.99999999999999999999999999)
возвращающегося 2, как я мог получить только его целую часть, равна 1?
Я знаю, что естьКак получить только целую часть длинного числа с плавающей точкой с JS?
Math.floor
parseInt
Но об этом случае:
Math.floor(1.99999999999999999999999999)
возвращающегося 2, как я мог получить только его целую часть, равна 1?
1.99999999999999999999999999
не фактическое значение числа. Он имеет значение после того, как литерал разобран, потому что это «как лучше», так как JavaScript может представлять такое значение.
JavaScript является IEEE-754 binary64 или "double precision" которые позволяют 15 до 17 значимых [десятичных] цифр точности - буквальный показано требует 27 значащих цифр, что приводит к потере информации
Тест:. 1.99999999999999999999999999 === 2
(что приводит к истинному .)
Здесь is another answer of mine, который описывает проблему,.? конечная относительная точность проблема
Так что я должен лучше использовать другой язык COBOL – diegoaguilar
@diegoaguilar Чтобы сделать .. что Вы используете JavaScript для? причина :) – user2864740
Приложение для численного анализа в API Node.js – diegoaguilar