![]() |
1
18
Floating point 价值是不精确的。
有些语言在语言级别支持任意精度的数字类型/有理数/复数等,但不支持Javascript。C和Java都不支持。
ieee754标准浮点值不能表示。
“浮点”概念,10进制模拟要了解浮点值不精确的原因,请考虑以下模拟值:
现在你可以考虑
定点
代表性,比如
现在你可以代表一个大范围的数字,但请注意,你不能代表
这就是为什么浮点值是不精确的。它们可以表示范围很广的值,但是由于内存量是固定的,因此必须牺牲精度来换取大小。 更多技术细节
这个
单精度浮点类型通常使用32位。双精度通常使用64位。 另请参见 |
![]() |
2
3
这种行为是浮点算术固有的。这就是为什么浮点运算不适合处理货币问题,而货币问题需要精确。 this one ,这有助于将舍入错误限制到您实际需要它们的位置(表示为文本)。这些库实际上并不处理浮点值,而是处理(整数值的)分数。所以不是0.25,而是1/4,以此类推。 |
![]() |
3
2
浮点值可以有效地表示比整数值大得多的范围内的值。然而,这是有代价的:有些值不能精确地表示(因为它们是二进制存储的)每负10次方,例如(0.1、0.01等) 如果你想要精确的结果,尽量不要使用浮点运算。
|
![]() |
4
-3
也, 让JavaScript计算出数学优先级,没有理由使用括号:
这很神奇。记住不要用无用的括号。 |
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 7 月前 |
![]() |
Alex · 在轻量级中同时解构和不解构变量 7 月前 |
![]() |
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 7 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 7 月前 |
![]() |
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 7 月前 |