在 javascript 中寻找有关数学的良好基本答案

问题描述 投票:0回答:1

我正在开展人工智能项目,为一家制药公司构建泡罩检测器。但最近,我陷入了一些基本编码中,我必须开发一个可以将十进制数转换为分数的工具,例如这个工具:https://www.aassheyfied.com/decimal-to-fraction。有什么方法可以让我获得用 Javascript 或 C++ 开发的分数工具吗?

我尝试了简单的逻辑。我尝试乘以 100 以获得该技术有效的分数,但我知道这不是正确的方法。我正在寻找这个问题的正确数学答案。

logic
1个回答
0
投票

这很复杂,

首先了解这些概念:

  • 数学.round()
  • 数学.abs()
  • .toString()

代码:

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);
};

在网上找到这个,不知道你会如何需要这个

© www.soinside.com 2019 - 2024. All rights reserved.