数量少的科学计数法

问题描述

我需要处理以科学计数法表示的数字。我知道目前JS仅将科学符号用于大小数字。

示例:

1000000000000000000000 === 1e+21

0.0000001 === 1e-7

我希望每个数字都具有相同的符号。

示例:

10应该是1e+1

我已经尝试使用方法.toExponential,但是数字转换为string

我需要保留number类型。

有什么建议吗?

解决方法

您可以使用Number将科学计数字符串转换回数字。 .toExponential将在规范中返回一个字符串,这就是您所得到的。

console.log( Number('1e+4') );
console.log( Number('1e-4') );
console.log( typeof Number('1e-4') );