有没有人遇到过 Math.js 自动逼近问题并解决了这个问题?
如果我输入任何超过 18 位的数字,那么这个库会返回近似值;不是确切的值。假设如果用户输入“03030130000309293689”,那么它返回“3030130000309293600”,当用户输入“3030130000309293799”时,即使它返回“3030130000309293600”。我们可以停止这种近似吗?这是一个错误,或者如果不是,那么我该如何避免近似?
由于这种近似,如果任何用户输入“ 03030130000309293695 == 03030130000309293799 ”,那么它将始终返回true,这是完全错误的。
github—— https://github.com/josdejong/mathjs
我们可以在http://mathjs.org/(在演示记事本中)尝试这个。
这是发布生产!
我认为如果任何时候用户输入像“03030130000309293695 == 03030130000309293799”这样的双方号码,我们就可以进行字符串比较。其余所有情况将通过近似处理。为什么我这么说是因为如果我使用相同的库进行“73712347274723714284 *73712347274723713000”计算,那么它会给出科学计数法的结果。