PHPの小数点以下2桁の間の10番目の位置に乱数を生成する必要があります。
元。1.2から5.7の間のランド番号。3.4を返します
これどうやってするの?
次を使用できます。
rand ($min*10, $max*10) / 10
またはさらに良い:
mt_rand ($min*10, $max*10) / 10
あなたは次のようなことをすることができます:
rand(12, 57) / 10
PHPのランダム関数では、整数の制限のみを使用できますが、結果の乱数を10で割ることができます。
より一般的な解決策は次のとおりです。
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);