diff options
Diffstat (limited to 'node_modules/num2fraction/index.js')
| -rw-r--r-- | node_modules/num2fraction/index.js | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/node_modules/num2fraction/index.js b/node_modules/num2fraction/index.js deleted file mode 100644 index 659deca4..00000000 --- a/node_modules/num2fraction/index.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict' - -var abs = Math.abs -var round = Math.round - -function almostEq(a, b) { - return abs(a - b) <= 9.5367432e-7 -} - -//最大公约数 Greatest Common Divisor -function GCD(a, b) { - if (almostEq(b, 0)) return a - return GCD(b, a % b) -} - -function findPrecision(n) { - var e = 1 - - while (!almostEq(round(n * e) / e, n)) { - e *= 10 - } - - return e -} - -function num2fraction(num) { - if (num === 0 || num === '0') return '0' - - if (typeof num === 'string') { - num = parseFloat(num) - } - - - var precision = findPrecision(num) //精确度 - var number = num * precision - var gcd = abs(GCD(number, precision)) - - //分子 - var numerator = number / gcd - //分母 - var denominator = precision / gcd - - //分数 - return round(numerator) + '/' + round(denominator) -} - -module.exports = num2fraction - |
