我已经制定了一些代码,可以将数字从给定数量的小数位置汇总到一个数量的小数位置,但是当有底流以避免舍入到零时,将使用更多的位置,这不会是对于用户来说足够的信息。
,但我注意到偶尔以科学符号显示少数数字。我的目标用户不预计对科学符号不满意,无论如何,即使处理底流程后,这种数字也太小了,应将其视为零。
我怎么知道一个数字何时如此小,以至于以科学符号显示?
我可以比较最小的数字吗?还是有更好的方法?
(我知道我可以将数字转换为字符串,并检查它是否具有" E",但我也很好奇,也很想知道任何仅数学解决方案。)
有几个原因以科学符号显示:
- 如果数字中的显着数字长度大于21。
- 如果非零数字之前的零数大于6。(例如0.00000001)
在ECMA-262的第9.8.1节中指定了数字上科学符号的转换。
。可以在此处的V8引擎中找到此规范的实现。