2010-10-15 160 views
1

我正在尝试制作转换器,但我不知道要做到这一点的公式,例如,如何获得85694的比例为30711152所以,我可以得到85694/30711152 * 100 = 0.28(四舍五入)这样的百分比,但是我怎样才能得到100的比例呢?我相信会在1:400左右?但我不知道如何得到它或使用什么公式...JS中的数学 - 如何从百分比中获得比率

+0

不会100中1的比例为.1?另外,.28的例子不是你想要的吗? (编辑:.01。不是.1) – hookedonwinter 2010-10-15 21:45:03

+0

嗯,我的意思是字面意思,30711152或任何两个数字的比例是85694。在这个问题中,或者用户输入的内容是:85694 of 30711152 – 2010-10-15 21:45:49

+0

而且,不,这就是你想要的%,你可以说,“彩票赔率” – 2010-10-15 21:46:24

回答

5

该比率是1在30711152/85694。只需倒置分数。

+1

哈哈,谢谢,哇,我和一个同事无法弄清楚......我有点尴尬地问,但没有人可以弄明白。谢谢! – 2010-10-15 21:48:18

1

那么,比例保持不变。如果你有3:12的比例,它相当于比例1:4,而这相当于25%。

所以85694:30711152 = 1:358.381。

1

我意识到这是非常古老的,但我最近遇到了这个问题。我需要将给定人口的两个部分给予关系,其中数字可能相当大,但需要的是简化比例,如3:5或2:7。我想出了这个,并希望它是有帮助的:

function getRatio(a,b,tolerance) { 

/*where a is the first number, b is the second number, and tolerance is a percentage 
of allowable error expressed as a decimal. 753,4466,.08 = 1:6, 753,4466,.05 = 14:83,*/ 

    if (a > b) { var bg = a; var sm = b; } else { var bg = b; var sm = a; } 
    for (var i = 1; i < 1000000; i++) { 
     var d = sm/i; 
     var res = bg/d; 
     var howClose = Math.abs(res - res.toFixed(0)); 
     if (howClose < tolerance) { 
      if (a > b) { 
       return res.toFixed(0) + ':' + i; 
      } else { 
       return i + ':' + res.toFixed(0); 
      } 
     } 
    } 
}