diff options
Diffstat (limited to 'lib/fixed.js')
| -rw-r--r-- | lib/fixed.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/fixed.js b/lib/fixed.js new file mode 100644 index 00000000..bd0710b9 --- /dev/null +++ b/lib/fixed.js @@ -0,0 +1,22 @@ +module.exports = function(n, p) { + if (!parseInt(p)) return parseInt(n).toFixed(0); + else { + let x = n / 10 ** p; + if (Math.abs(x) < 1.0) { + var e = parseInt(x.toString().split('e-')[1]); + if (e) { + x *= Math.pow(10, e - 1); + x = x.toFixed(9 - e); + x = '0.' + new Array(e).join('0') + x.toString().substring(2); + } + } else { + var e = parseInt(x.toString().split('+')[1]); + if (e > 20) { + e -= 20; + x /= Math.pow(10, e); + x += new Array(e + 1).join('0'); + } + } + return x; + } +} |
