-1

私は以下を使用しようとしました

rand()/getrandmax()*0.35+0.3

それでも、最大制限を超える数が生成されます。下限は違反していませんが、上限は違反しています。

4

5 に答える 5

6

rand()/getrandmax()独自のコードを修正するには、下限を追加し、ランダムな値( )に上限と下限の差(0.35〜0.3)を掛ける必要があります。

rand()/getrandmax()*0.05+0.3
于 2012-08-14T14:36:03.620 に答える
2

私は使うだろう

   $min = 30;
   $max = 35;
   $accuracy = 1000000;

   $random_number = rand($min*$accuracy, $max*$accuracy)/(100*$accuracy);

PHP のマニュアルには次のように書かれています。

   rand(int $min, int $max)

http://www.php.net/manual/en/function.rand.php

また、PHP < 4.2.0 を使用する場合は、少なくとも srand(); を呼び出します。乱数を作成する前に毎回。

于 2012-08-14T14:38:07.527 に答える
0

間隔は0.05なので、0.35を掛けるのではなく、20で割る(または0.05を掛ける)必要があります。

于 2012-08-14T14:36:27.153 に答える
-1
$min = .3;
$max = .35;

echo rand($min, $max); 

それが私が知っている最も簡単な方法です。

于 2012-08-14T14:35:42.847 に答える
-1

この関数のプロトタイプは次のとおりです。

int rand ( int $min , int $max )

だからただ電話してください:

rand (0.3, 0.35 );
于 2012-08-14T14:37:53.643 に答える