我计算了一些值,我使用以下代码生成比率(1:2,2:5等):
var gcd,col1Sum = 100,col2Sum = 121;
function calcGcd (a, b) {
return (b == 0) ? a : calcGcd(b, a%b);
}
gcd = calcGcd(col1Sum, col2Sum);
console.log(col1Sum / gcd +':'+ col2Sum / gcd);
在这个例子中,它产生了一些技术上正确但丑陋的比例(例如100:121)。我试图找到一种方法来生成给定任何大小值的小数比率。所以,在上面的例子中,我希望能够产生1:1.21而不是100:121。我已经考虑过在计算比率之后使用比率的长度和除法,但这看起来很不优雅,是否有更多的数学方法可以做到这一点?
答案 0 :(得分:2)
如果您没有任何其他复杂要求,那么只需
var min = Math.min(col1Sum, col2Sum);
var r1 = col1Sum / min,
r2 = col2Sum / min;
必须工作。