私はこのかなり奇妙なことをする必要があります、私が持っているとしましょう:
$number = rand(1, 9);
(これは数字の例にすぎません。実際には、まったく異なる方法で取得します)
そして今、私はその数値を「変換」する必要があり0.2
ますfloat
.
私はこのかなり奇妙なことをする必要があります、私が持っているとしましょう:
$number = rand(1, 9);
(これは数字の例にすぎません。実際には、まったく異なる方法で取得します)
そして今、私はその数値を「変換」する必要があり0.2
ますfloat
.
PHP は、変数宣言での明示的な型キャストをサポートしていません。単純に 10 で割る方法でint
を aに変換するには:float
$number = rand(1, 9) / 10;
詳細については、 PHP Type Jugglingに関するこのページを参照してください。floats
とまたは他のタイプを混在ints
させると、再キャストされます。例:
echo 10 + 2.5; // gives you 12.5, a float because of the types used
編集: PHPには、変数宣言ではなく、明示的な型キャストがあります。ただし、整数を float としてキャストしても、小数点以下は表示されません。これを行うには、代わりに PHP のnumber_format
関数を使用します。
echo number_format(10, 1); // gives you 10.0
編集 2: 単純に数値を 0 から 1 の間の 10 進数にしたい場合 (2 が 0.2 になる、25 が 0.25 になるなど)、次の関数を使用できます。
function getNumAsDecimal($num) {
return ($num / pow(10, strlen((string)$num)));
}
そうgetNumAsDecimal(2)
返し0.2
ます。
function Floatize(){
return (float) (rand(1, 9) / 10);
}
echo Floatize(); // will return something like 0.2 or 0.5 or 0.9
$number=(float)rand(1, 9)/10;
PHP の型キャストを参照してください。