Как округлить число после запятой?

Есть число - 0.0000049999999999999996 Как его можно округлить до 0.000005?


Ответы (3 шт):

Автор решения: rusgeli

Используйте Math.round(). Но, поскольку эта функция округляет до целого числа, сначала его необходимо домножить до целого, округлить и разделить на число, на которое изначально домножали.

let a = 0.0000049999999999999996;
console.log(Math.round(a * 1000000) / 1000000);

→ Ссылка
Автор решения: Алексей Р

Используйте toFixed

console.log(0.0000049999999999999996.toFixed(6))

→ Ссылка
Автор решения: Kromster

Простой правильный ответ - "никак нельзя". Как говорит документация -

JavaScript Numbers are Always 64-bit Floating Point. JavaScript numbers are always stored as double precision floating point numbers, following the international IEEE 754 standard".

0.000005 не представляется точно в IEEE-754. Под капотом это все равно будет 0.0000050000000000000004090152695701565477293115691281855106353759765625.

Представление подсмотрено вот тут - https://baseconvert.com/ieee-754-floating-point


Более сложный ответ - можно, но для этого надо привлекать дополнительные средства (библиотеки и типы данных).


Если вы просто хотите напечатать строку-результат "округлённый до шести знаков после запятой", то x.toFixed(6). Но это именно строка, не число в памяти компьютера.

→ Ссылка