16日我使用此代码小数转换成分数:小数四舍五入或分数与jQuery的
Number.prototype.fraction=fraction;
function fraction(decimal){
if(!decimal){
decimal=this;
}
whole = String(decimal).split('.')[0];
decimal = parseFloat("."+String(decimal).split('.')[1]);
num = "1";
for(z=0; z<String(decimal).length-2; z++){
num += "0";
}
decimal = parseInt(decimal*num);
num = parseInt(num);
for(z=2; z<decimal+1; z++){
if(decimal%z==0 && num%z==0){
decimal = decimal/z;
num = num/z;
z=2;
}
}
return ((whole==0)?"" : whole+" ")+decimal+"/"+num;
}
这工作,但有一些问题,我似乎无法化解。首先,小数点后的长数字(或无限数字)会导致页面丢失,所以我必须在使用.round()
之前手动限制输入。其次,我需要能够将分数值舍入到最接近的16位。
我意识到这是一个特别棘手的问题,因为我发现周围的同时谷歌曳两天,但我希望有人知道如何做到这一点。我愿意接受任何解决方案。
也许我错误地将你的回合误解为了最接近的16位。如果是这样,我会删除我的答案。 –
啊哈!我明白现在如何运作。我想我会以某种方式需要操纵分数部分,但这是非常容易的。谢谢! – Eckstein
不,你没有,这是完美的。 – Eckstein