2010-10-15 161 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); 
      } 
     } 
    } 
}