如何用JavaScript的toExponential方法将大数格式化为指定指数形式
解决JavaScript科学计数法保留指定小数位的问题
嘿,这个需求其实用toExponential()本身就能搞定,不需要额外复杂的操作!
toExponential()方法支持传入一个数字参数,用来指定小数点后需要保留的位数,而且它会自动帮你完成四舍五入的处理。针对你的场景,只需要给方法传入4,就能得到你想要的1.2345e+35格式。
修改后的代码如下:
var num = 123456789123456789123456789123456789; var n = num.toExponential(4); // 传入4,指定保留4位小数 document.getElementById("demo").innerHTML = n; // 输出结果:1.2345e+35
小补充:
这里需要注意一下,你定义的这个超大数123456789123456789123456789123456789已经超出了JavaScript Number类型的安全整数范围(安全整数最大值是2^53 - 1,大概是9e15),所以实际存储时已经存在精度损失,但这并不影响我们用toExponential()来格式化显示成你需要的样式。
如果之后你需要调整保留的小数位数,只需要修改传入的参数即可——比如传3就会得到1.235e+35,传5则是1.23457e+35,非常灵活。
内容的提问来源于stack exchange,提问作者Nithin Mohan
相关产品推荐
相关产品推荐

