30

PHPの小数点以下2桁の間の10番目の位置に乱数を生成する必要があります。

元。1.2から5.7の間のランド番号。3.4を返します

これどうやってするの?

4

3 に答える 3

61

次を使用できます。

rand ($min*10, $max*10) / 10

またはさらに良い:

mt_rand ($min*10, $max*10) / 10
于 2012-05-02T18:27:30.553 に答える
6

あなたは次のようなことをすることができます:

rand(12, 57) / 10

PHPのランダム関数では、整数の制限のみを使用できますが、結果の乱数を10で割ることができます。

于 2012-05-02T18:25:44.057 に答える
4

より一般的な解決策は次のとおりです。

function count_decimals($x){
   return  strlen(substr(strrchr($x+"", "."), 1));
}

public function random($min, $max){
   $decimals = max(count_decimals($min), count_decimals($max));
   $factor = pow(10, $decimals);
   return rand($min*$factor, $max*$factor) / $factor;
}

$answer = random(1.2, 5.7);
于 2012-05-02T18:36:53.853 に答える