Javascript 可以将数字存储为浮点数吗?

Javascript 可以将数字存储为浮点数吗?,javascript,floating-point,integer,Javascript,Floating Point,Integer,这个问题相当简单,但我知道我必须澄清-我不是说做任何类型的操作 我有一些货币值和其他十进制值需要处理。将它们存储为浮点数是否安全?当需要执行任何类型的操作时,将它们转换为整数,然后返回浮点数(假设我可以处理小数点)。我理解使用浮点数进行数学运算时会出现精度错误,但为了便于使用而简单地存储它们是否有任何明显的危险?任何介于-2^24和2^24之间的整数都可以毫无错误地转换为单精度浮点数;对于双精度,它是-2^54到2^54。因此,只要结果保证是相同范围内的整数,就可以对它们执行浮点运算而不会引入任

这个问题相当简单,但我知道我必须澄清-我不是说做任何类型的操作


我有一些货币值和其他十进制值需要处理。将它们存储为浮点数是否安全?当需要执行任何类型的操作时,将它们转换为整数,然后返回浮点数(假设我可以处理小数点)。我理解使用浮点数进行数学运算时会出现精度错误,但为了便于使用而简单地存储它们是否有任何明显的危险?

任何介于-2^24和2^24之间的整数都可以毫无错误地转换为单精度浮点数;对于双精度,它是-2^54到2^54。因此,只要结果保证是相同范围内的整数,就可以对它们执行浮点运算而不会引入任何错误。

JavaScript中的每个数字不是都是双精度的吗?JavaScript有一种类型的数字。。。号码。。。这是一个64位浮点。。。除非您使用Int8Array、Uint8Array、Int16Array、Uint16Array、Int32Array、Uint32Array或Float32Array,否则我会说这是非常安全的,但是,Idk javascript如何从操作中获得浮点精度。例如,在python中,您会得到类似这样的奇怪东西。因此,如果(a+b==0.3)这样做可能会有问题。@AshwinGupta这就是在操作之前转换为int的全部想法,我只想确保除了存储之外,我什么都不做是完全安全的。@Thirk哦,在这方面你应该是绝对安全的。请记住,
==
检查等价性,
==
检查类型和等价性。