@
bli22ard #24 不过这么多人都看错,不怪你,得怪作者毫无必要地放了很多计算过程当作例子,网站文本存在误导,“修复浮点精度问题”但实际上只是显示上,而不是给出一个精确的计算结果。
然后 11 楼举了的例子也有一定误导,我用高精度库了更可能是因为我需要准确的结果,而不是为了数字转字符串看起来好看,这种情况下根本没有可比性。
这个库本身就是只有 number 类型到 string 类型转换,这么一个目的和功能。给定一个数字,返回一个字符串,就这么简单,甭管输入哪里来的,用户提供的,库作者想管也管不了。做 OJ 的时候也没人问 input 怎么来的吧。
不过本来我也不太看好这个库,为了这点功能徒增太多了复杂实现,
如果本身就要精度正确,那直接上精度库就好了,
如果要裁剪小数部分,那 toFixed 就可以了,去末尾 0 那就再加个正则替换。
如果为了智能判断高熵部分并展示……我不知道什么情况下会有这样一个需求,为什么要去在乎一个比 epsilon 小很多的噪音,就算如此,展示比 epsilon 小的值,为什么要做字符比较而不是基于数学方式去判断(例如 for 循环递增提取 5 位移到小数点后,tofixed(5)判断是否等于 1 或 0 ,而不是连续比较 5 个 0 或者 5 个 9 )
我很怀疑原作者的精神状态……