3

重複の可能性:
PHP: 数値を小数点以下 2 桁まで表示する

整数をキャストするにはどうすればよい$i=50です$m=50.00か。試してみ(float)$iましたが、何も起こりません。

編集:

$i == $mを返すようにする必要がありますTRUE

4

3 に答える 3

9

round((float)$i, 2) トリックを行う必要があります。

このround関数は組み込まれており、指定された float を、指定された引数で指定された小数点以下の桁数に丸めます。

ああ、それnumber_format($var, 2)もいいですね!

于 2012-10-20T23:51:16.850 に答える
8

==タイプ セーフな等値演算子 ( ) の代わりに通常の等値演算子 ( ) を使用しているだけであれば===、問題はないはずです。

同じ値を持つ double と int の比較:

$i = 20;
$m = 20.00;

gettype($i); // integer
gettype($m); // double

$i == $m; // true;
$i === $m; // false, $m is a double and $i is an integer.

ただし、それを修正したい場合は、次のことを行う必要があります。

$i = (double)$i;
gettype($i); // double
$i === $m; // true!
于 2012-10-21T00:15:04.193 に答える
7

浮動小数点数の場合、10 進数の桁数は書式設定プロパティです。つまり、数値自体はそれらのことを認識していません。50 は、正確なfloat整数 50 として格納されます。10 進数で書き込まれるように、数値をフォーマットする必要があります(例を使用)。sprintf

于 2012-10-20T23:50:38.943 に答える