【发布时间】:2017-12-02 17:31:01
【问题描述】:
Math.fround() 函数是如何工作的。
Math.fround()函数返回数字的最接近的浮点表示。
但是当它传递浮点数Math.fround(1.5) 时,它返回相同的(1.5)值。
但是当它传递浮点数Math.fround(1.55) 时,它会返回一个不同的值1.5499999523162841。 为什么和如何?
- 我对
Math.fround()的工作原理感到困惑。- 它与
Math.round()函数有何不同?- 还请告诉我为什么
Internet Explorer不支持它。
【问题讨论】:
-
你可以从JavaScript’s Number type in details开始你的理解
-
我看不到那个页面 :(
-
把数字写成二进制你就明白了。 1.5 是
2^0 + 2^-1但 1.55 不能表示为 2 的幂的总和,所以它就像二进制表示的 iracional 数......这就是为什么你有这么多 diigtis ... -
@RobG 很有趣,但是他们的 polyfill 不能在兼容的浏览器上工作,因为他们不使用
new构造Float32Array..
标签: javascript angularjs angular typescript math