2017-01-14 5 views
1

Довольно простой вопрос, но я знаю, что мне нужно уточнить - Я не говорю о выполнении каких-либо операций.Можно ли хранить числа в виде поплавка?

У меня есть некоторые значения валюты и другие десятичные значения, которые необходимо обрабатывать. Безопасно ли хранить их как поплавки, и когда необходимо выполнить какую-либо операцию, преобразует их в целые числа, а затем обратно в поплавки (предположим, что я могу обрабатывать десятичные знаки). Я понимаю точность ошибок при выполнении математики с поплавками, но есть ли что-то явно опасное для простого хранения их для удобства использования?

+3

Не все ли число в JavaScript в двухместном номере? – mc10

+0

javascript имеет один тип номера ... Number ... который является 64-битным поплавком ... если вы не используете Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array или Float32Array, конечно, –

+0

Я бы сказал, что это довольно безопасно, BUT, Idk как javascript о точности с плавающей запятой от операций. Например, http://stackoverflow.com/questions/588004/is-floating-point-math-broken в python вы получаете такие странные вещи. Поэтому выполнение 'if (a + b == 0.3)' может быть проблемой. –

ответ

1

Любое целое число от -2^24 до 2^24 может быть преобразовано в число с плавающей запятой с одинарной точностью без ошибок; для двойной точности - от -2^54 до 2^54. В этом случае вы можете выполнять операции с плавающей запятой на них, не внося никаких ошибок, если гарантированные результаты будут целыми числами в том же диапазоне.

Смежные вопросы