JavaScript 小数转分数
Posted kuku_zhongzi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 小数转分数相关的知识,希望对你有一定的参考价值。
javascript 小数转分数
//精度为小数两位,提高精度可把 toFixed(2)和100同时修改;
function decimalsToFractional(decimals)
const formatDecimals = decimals.toFixed(2)
let denominator = 100 //初始化分母
let numerator = formatDecimals * 100 //初始化分子
let bigger = 0
function recursion()
bigger = denominator > numerator ? denominator : numerator
for (let i = bigger; i > 1; i--)
if (Number.isInteger(numerator / i) && Number.isInteger(denominator / i))
numerator = numerator / i
denominator = denominator / i
recursion()
recursion()
if (decimals % 1 === 0) // 入参为整数时 直接返回
return `$decimals`
else if (numerator / denominator > 1) // 分子大于分母
return `$parseInt(numerator / denominator) + $numerator % denominator / $denominator`
else // 分子小于分母
return `$numerator / $denominator`
console.log(this.decimalsToFractional(1.5)) // 1/2
console.log(this.decimalsToFractional(20)) // 20
console.log(this.decimalsToFractional(5/2)) // 2+1/2
以上是关于JavaScript 小数转分数的主要内容,如果未能解决你的问题,请参考以下文章
2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: num