我正在开展人工智能项目,为一家制药公司构建泡罩检测器。但最近,我陷入了一些基本编码中,我必须开发一个可以将十进制数转换为分数的工具,例如这个工具:https://www.aassheyfied.com/decimal-to-fraction。有什么方法可以让我获得用 Javascript 或 C++ 开发的分数工具吗?
我尝试了简单的逻辑。我尝试乘以 100 以获得该技术有效的分数,但我知道这不是正确的方法。我正在寻找这个问题的正确数学答案。
这很复杂,
首先了解这些概念:
代码:
var absx=Math.abs(x2);
var y=Math.floor(absx);
var frac=math.round(absx-y);
if( x2<0 ) sign = sign2 = '-';
var d = absx;
var den = Math.round(Math.pow(10,d));
var num = Math.round(frac*den);
var len=num.toString().length;
var f=false;
if( len>8 ) f=true;
var g = gcd2(num,den,f);
var num2 = Math.round(num/g);
var den2 = Math.round(den/g);
var gcd2 = function(a, b, f) {
if( f )
{
if ( b<=1 )
return a;
}
else
{
if ( !b )
return a;
}
return gcd2(b, a % b, f);
};
在网上找到这个,不知道你会如何需要这个