1

ちょっと興味があるのですが、「正しい順序」で除算して、被除数が常に大きい数になるようにする関数はありますか? 現在、私はこれを行っています

x=5
y=10
z=0

if x>y{
z = x/y
}else{
z = y/x
}

次のように、これを1行で行うために使用できる関数があるかどうか疑問に思っていました

MakeSureDividendBigger(x/y)

タイプのもの。

ありがとう

4

3 に答える 3

7

Javascript:

var z = Math.max(x, y) / Math.min(x, y);

または関数:

function divideNice(x, y) {
    return Math.max(x, y) / Math.min(x, y);
}

var z = divideNice(x, y);

PHP:

$z = max($x, $y) / min($x, $y)
于 2012-05-07T20:09:07.050 に答える
3

これには特別な機能があるとは思えませんが、可能な1行の解決策は、三項条件演算子を使用することです:

$z = $x > $y ? $x / $y : $y / $x;    // PHP

var z = x > y ? x / y : y / x;       // JavaScript
于 2012-05-07T20:08:40.377 に答える
1

Math.maxとを使用できますMath.min

Math.max(x,y) / Math.min(x,y)

または、Mozilla (Firefox) では、簡単にスワップを行うことができます。

if(x < y)
   [x,y] = [y,x]

x/y

これは、破壊代入と呼ばれます。

于 2012-05-07T20:09:53.890 に答える