Javascript toExponential()仅适用于具有有效分位数的大数
我想用指数表示法格式化大数(>1e5),分数位数有限,但跳过不必要的零位数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 我可以想象
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”
是最简单的。