如果不以科学记数法显示,JavaScript数字能有多小?

如果不以科学记数法显示,JavaScript数字能有多小?,javascript,floating-point,numbers,scientific-notation,Javascript,Floating Point,Numbers,Scientific Notation,我编写了一些代码,将一个数字四舍五入到给定的小数位数,但在出现下溢时将使用更多的位数,以避免仅四舍五入到零,这对用户来说是不够的 但我注意到,偶尔在科学记数法中会显示一个小数字。我的目标用户预计不会对科学记数法感到满意,在任何情况下,即使在处理下溢后,这些数字也太小,应视为零 我怎么知道一个数字什么时候小到可以用科学记数法显示 是否有一个最小的数字我可以比较,如果是这样,是什么? 还是有更好的办法 我知道我可以将数字转换为字符串,并检查它是否有e,但我也是那种只想知道数学解的人。以科学记数法显示

我编写了一些代码,将一个数字四舍五入到给定的小数位数,但在出现下溢时将使用更多的位数,以避免仅四舍五入到零,这对用户来说是不够的

但我注意到,偶尔在科学记数法中会显示一个小数字。我的目标用户预计不会对科学记数法感到满意,在任何情况下,即使在处理下溢后,这些数字也太小,应视为零

我怎么知道一个数字什么时候小到可以用科学记数法显示

是否有一个最小的数字我可以比较,如果是这样,是什么? 还是有更好的办法


我知道我可以将数字转换为字符串,并检查它是否有e,但我也是那种只想知道数学解的人。

以科学记数法显示数字有几个原因:

如果数字中有效数字的长度大于21。 如果非零数之前的零数大于6。e、 g.0.00000001 中规定了数字到科学符号的转换


本规范的实施可在中找到。

以科学符号显示数字有几个原因:

如果数字中有效数字的长度大于21。 如果非零数之前的零数大于6。e、 g.0.00000001 中规定了数字到科学符号的转换


该规范的实现可以在中找到。

为什么不直接获取数字的字符串形式并检查嵌入的e?@Pointy:哦,出于好奇,我想知道如何从数学上实现它。我本想把这个问题包括在内。让我来编辑它…诀窍是浮点数学非常复杂,而检查e非常简单:结果可能取决于浏览器,最好的解决方案是检查myNum.toString是否有e。在我的计算机上,对当前的FF、Chrome、Edge、,1e-6似乎是将值转换为字符串时未以科学记数法打印的最小数字。所以所有的Math.absvalue>=1e-6都应该是安全的,为什么不直接获取数字的字符串形式并检查嵌入的e?@Pointy:哦,出于好奇,我想知道如何从数学上实现它。我本想把这个问题包括在内。让我来编辑它…诀窍是浮点数学非常复杂,而检查e非常简单:结果可能取决于浏览器,最好的解决方案是检查myNum.toString是否有e。在我的计算机上,对当前的FF、Chrome、Edge、,1e-6似乎是将值转换为字符串时未以科学记数法打印的最小数字。因此,Math.absvalue>=1e-6的所有内容都应该是安全的