Javascript toExponential()仅适用于具有有效分位数的大数

Javascript toExponential()仅适用于具有有效分位数的大数,javascript,jasmine-jquery,Javascript,Jasmine Jquery,我想用指数表示法格式化大数(>1e5),分数位数有限,但跳过不必要的零位数 expect(print(100000)).toBe('1e5'); expect(print(123456)).toBe('1,234e5'); expect(print(101000)).toBe('1,01e5'); value.toExponential(3)给我1.000e+5,1234e+5,1010+5 value.toExponential()给了我1e+5,123456e+5,1,01+5 我可以想象

我想用指数表示法格式化大数(>1e5),分数位数有限,但跳过不必要的零位数

expect(print(100000)).toBe('1e5');
expect(print(123456)).toBe('1,234e5');
expect(print(101000)).toBe('1,01e5');
value.toExponential(3)
给我
1.000e+5
1234e+5
1010+5

value.toExponential()
给了我
1e+5
123456e+5
1,01+5


我可以想象类似于
123456->1.23456->“1.234”->1.234->123400->“1.234e+5”
,但我希望有更好的方法。如果没有,这种转换的良好实现是什么。

如果在
e
之前不需要任何额外的
0
,可以这样做:

value.toExponential(3).替换(/0+e/,'e')。替换('e','e'))
或者你可以这样做:

value.toExponential().replace(/[,.](\d{3})\d*e/,'.$1e')

3
替换为所需的小数位数。

我认为
123456->1234.56->1235->“1235”->“1.235e5”
是最简单的。