Opposite of Number.toExponential in JS

前端 未结 5 600
感情败类
感情败类 2020-12-10 16:36

I need to get the value of an extremely large number in JavaScript in non-exponential form. Number.toFixed simply returns it in exponential form as a string, wh

5条回答
  •  离开以前
    2020-12-10 16:47

    It's possible to expand JavaScript's exponential output using string functions. Admittedly, what I came up is somewhat cryptic, but it works if the exponent after the e is positive:

    var originalNumber = 1e+31;
    var splitNumber = originalNumber.toString().split('e');
    
    var result;
    if(splitNumber[1]) {
        var regexMatch = splitNumber[0].match(/^([^.]+)\.?(.*)$/);
        result =
            /* integer part */ regexMatch[1] +
            /* fractional part */ regexMatch[2] +
            /* trailing zeros */ Array(splitNumber[1] - regexMatch[2].length + 1).join('0');
    } else result = splitNumber[0];
    

提交回复
热议问题