代码拉取完成,页面将自动刷新
'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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。