Size: a a a

Node.js — русскоговорящее сообщество

2019 October 30

AM

Aga Mahmudov in Node.js — русскоговорящее сообщество
Бля, я знаю Math.round, мне надо например с 0.000058548 получить 0.00005, грубо говоря округлить до определённых нулей. Раунд вроде так не работает
источник

A

AnGel in Node.js — русскоговорящее сообщество
Но лучше было изначально договариваться о фиксированной стоимости
источник

AM

Aga Mahmudov in Node.js — русскоговорящее сообщество
c toFixed походу придётся делать
источник

KR

Kirill Reunov in Node.js — русскоговорящее сообщество
AnGel
Но лучше было изначально договариваться о фиксированной стоимости
Согласен, но вот так получилось. Спасибо за совет)
источник

EB

Eugene Butusov in Node.js — русскоговорящее сообщество
Aga Mahmudov
Бля, я знаю Math.round, мне надо например с 0.000058548 получить 0.00005, грубо говоря округлить до определённых нулей. Раунд вроде так не работает
умножь на 10^N, раунд, и подели на него же, где  N - твоя точность. но надо следить за переполнением
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Eugene Butusov
умножь на 10^N, раунд, и подели на него же, где  N - твоя точность. но надо следить за переполнением
есть же разные способы округления. типа нечетные округляются к центру и все такое
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
есть неплохая библиотечка https://github.com/MikeMcl/big.js/
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
Aga Mahmudov
c toFixed походу придётся делать
toFixed оптимальное, но если охота поизвращаться, то можно и через строчные функции сделать, или через round (как выше писали), или еще как извратиться - вопрос в цели и причинах отказа от простых способов
источник

AM

Aga Mahmudov in Node.js — русскоговорящее сообщество
Artem Zuev
toFixed оптимальное, но если охота поизвращаться, то можно и через строчные функции сделать, или через round (как выше писали), или еще как извратиться - вопрос в цели и причинах отказа от простых способов
перед релизом не очень охота поизвращаться 😄
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Math.round( num * 100 + Number.EPSILON ) / 100

но этот вариант тоже ведет себя довольно странно в некоторых случаях
источник

EB

Eugene Butusov in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
есть же разные способы округления. типа нечетные округляются к центру и все такое
хз, он воощбе вроде хотел просто отрубить хвост, неясно короч
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Eugene Butusov
хз, он воощбе вроде хотел просто отрубить хвост, неясно короч
если это просто для вывода пользователю, то toFixed наверное и хватит
источник

AM

Aga Mahmudov in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
Math.round( num * 100 + Number.EPSILON ) / 100

но этот вариант тоже ведет себя довольно странно в некоторых случаях
самый оптимальный способ через toFixed и затем parseFloat)
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
человеку нужно просто округление до N знаков после запятой и все...
источник

AM

Aga Mahmudov in Node.js — русскоговорящее сообщество
конечно не очень эстетично
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
а зачем parseFloat? чем 1 * не угодил ;)
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Artem Zuev
человеку нужно просто округление до N знаков после запятой и все...
округление — это непростая задача
источник

m

meehalkoff✪ in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
округление — это непростая задача
Особенно если речь идёт об округлении денег
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
например, берем число 1.005.
toFixed(2) округлит до 1.00
а другие способы округляют до 1.01

причем оба варианта — правильные. просто по-разному округляют
источник

EB

Eugene Butusov in Node.js — русскоговорящее сообщество
потому что toFixed - это не округление
источник