可能重复:
PHP:将数字显示到小数点后 2 位
我如何转换一个整数,让我们说$i=50
一个具有两个十进制值的浮点数:$m=50.00
?我已经尝试过(float)$i
,但没有任何反应。
编辑:
我需要这样做才能$i == $m
返回TRUE
;
可能重复:
PHP:将数字显示到小数点后 2 位
我如何转换一个整数,让我们说$i=50
一个具有两个十进制值的浮点数:$m=50.00
?我已经尝试过(float)$i
,但没有任何反应。
编辑:
我需要这样做才能$i == $m
返回TRUE
;
round((float)$i, 2)
应该做的伎俩。
该round
函数是内置的,并将给定的浮点数四舍五入到给定参数中指定的小数位数。
啊,是的,number_format($var, 2)
也很好!
如果您只是使用常规相等运算符 ( ==
) 而不是类型安全的相等运算符 ( ===
),那么您应该没有任何问题。
将 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!
对于浮点数,小数位数是一种格式化属性,即数字本身不知道这些事情。float
50 存储为精确整数 50。您需要格式化数字(sprintf
例如使用)以用十进制数字写入。