Shaoyin Song
Shaoyin Song
@YingshanDeng typo fixed。能解释,我也正是想说明这个问题。
@natee 本来就加了,只是 Github 不支持 Latex,已换成截图
@shoung6 `strip` 只能用于最终结果,不要对中间结果进行处理,否则会刚开始差之毫厘,结果谬以千里。而后面的加减乘除都是精确的计算
@shoung6 外部传入的“异常”数据需要展现的时候。如后端接口返回 `3.4500000001`,前端要格式化后展示的情况。浮点数异常对 Java、Python、Ruby 等语言都适用。
文中 `strip` 会把精度降到 `10^12`,但 JS 本身的精度可以到 `2^53`。当你做多次计算时当初的小误差,结果可能就有大不同。还是看场景吧,如果你数字很小,最后 `strip` 一下也是可以的
@guitong > 下面再以 0.1 例解释浮点误差的原因, 0.1 转成二进制表示为 0.0001100110011001100(1100循环),1.100110011001100x2^-4,所以 E=-4+1023=1019;M 舍去首位的1,得到 100110011...。 非0数用十进制的科学计数法表示时首位为 `1~9`,用二进制表示时首位只能是 `1`,所以就约定把首位这个 `1` 省去。
对整数为言,1=
@kisnows 个数多而已,代码没多少,我们千万级 PV 产品一直运行稳定
@ralphite wow, nice catch :star2: Just add a comment here for issues, i will keep checking :smile:
@gdzgshum fetch-ie8 和 fetch-detector 要以 CommonJS 方式引用,要使用 Webpack 来打包。如果想用 ES6 语法,就用 Babel 编译一下