JS 因数值过大变为科学计数法,科学计数法转换为正常数值

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yangzi_520/article/details/80847379

JS在处理数值的时候,如果数值小数位数超过6位,就会转换为科学计数法,整数的多于21位也会转为科学计数法,这问题纠结了好久,网上找了好多方法,找到几个比较靠谱的。将数值用parseFloat(num).Fixed(8)保留固定位数,但有个缺点,就是如果数值小于8位的,则会多出余数0,如:0.00000010,这样的方法对于有些人来说显然不可取。还有一种方法就是使用正则匹配是否为科学计数法……..,原文博客:链接

//将科学计数法转换为小数
function toNonExponential(num) {
    var m = num.toExponential().match(/\d(?:\.(\d*))?e([+-]\d+)/);
    return num.toFixed(Math.max(0, (m[1] || '').length - m[2]));
}
展开阅读全文

没有更多推荐了,返回首页