不论是Excel还是Javascript, 都是参照IEEE 754标准。正如你Share的文档,基于754标准的双精度浮点运算,都有十进制分数表示二进制分数的精度问题,不是100%精确。
但是Excel的计算引擎内部会对这种精度问题进行位数修正,修正策略不可知。
而SpreadJS也做了同样的事情,基础思路网上有很多,比如在进行浮点运算时,将小数转整数运算后,在转回小数。又或者使用一些Javascript native的精度限制方法来修正精度等等。
当然实际的代码情况比这个复杂,就不一一详细陈述了。
希望有所帮助。 |
|