UNPKG

611 BJavaScriptView Raw
1import formatDecimal from "./formatDecimal";
2
3export var prefixExponent;
4
5export default function(x, p) {
6 var d = formatDecimal(x, p);
7 if (!d) return x + "";
8 var coefficient = d[0],
9 exponent = d[1],
10 i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,
11 n = coefficient.length;
12 return i === n ? coefficient
13 : i > n ? coefficient + new Array(i - n + 1).join("0")
14 : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)
15 : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!
16}