精度为小数两位,提高精度可把 toFixed(2)和100同时修改;
//小数转分数
function decimalsToFractional(decimals){
formatDecimals = decimals.toFixed(2);
var denominator = 100;//初始化分母
var numerator = formatDecimals*100;//初始化分子
var 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();
return `${numerator}/${denominator}`
}
更多专业前端知识,请上 【猿2048】www.mk2048.com