美文网首页
Javascript 数字转成非科学记数法显示

Javascript 数字转成非科学记数法显示

作者: 那个大螺丝 | 来源:发表于2018-05-14 11:05 被阅读0次

javascript 会把数字自动转成科学记数法,现在用一个函数来把数字转回原本的形式显示。

面向对象继承的方式

 Number.prototype.noExponents= function(){
      const data= String(this).split(/[eE]/);
      if(data.length === 1) return data[0];

      let  z= '', sign= this<0? '-':'',
        str= data[0].replace('.', ''),
        mag= Number(data[1])+ 1;

      if(mag<0){
        z= sign + '0.';
        while(mag++) z += '0';
        return z + str.replace(/^-/,'');
      }
      mag -= str.length;
      while(mag--) z += '0';
      return str + z;
  };

函数式的方法

const noExponents = (exponent) => {
  const data  = String(exponent).split(/[eE]/);
  if(data.length === 1) return data[0];
  let  z= '', sign = exponent<0? '-': '',
    str= data[0].replace('.', ''),
    mag= Number(data[1])+ 1;
  if(mag<0){
    z= sign + '0.';
    while(mag++) z += '0';
    return z + str.replace(/^-/,'');
  }
  mag -= str.length;
  while(mag--) z += '0';
  return str + z;
};

显示效果

const num = 0.0000000001;

console.log(num.noExponents());   // 0.0000000001
console.log(noExponents(num));    // 0.0000000001
console.log(num);  // 1e-10

相关文章

网友评论

      本文标题:Javascript 数字转成非科学记数法显示

      本文链接:https://www.haomeiwen.com/subject/uqyddftx.html