将 int 转换为浮点型/双精度型
2022-08-30 19:37:45
当我想将值转换为(带点的数字)时,我遇到了麻烦。integer
float
$a = 7200;
$b = $a/3600;
echo $b; // 2
$b = floatval($b);
echo $b; // 2
但它应该回声或2.0
2.00
我也尝试了settype,但没有成功。我只找到“浮点到int”的帮助/解决方案/问题。
当我想将值转换为(带点的数字)时,我遇到了麻烦。integer
float
$a = 7200;
$b = $a/3600;
echo $b; // 2
$b = floatval($b);
echo $b; // 2
但它应该回声或2.0
2.00
我也尝试了settype,但没有成功。我只找到“浮点到int”的帮助/解决方案/问题。
更新:
用
echo sprintf("%.2f", $b); // returns 2.00
用
echo number_format($b, 2);
例如:
echo number_format(1234, 2); // returns 1,234.00
编辑:
@DavidBaucum 是的,number_format() 返回字符串。
用
echo sprintf("%.2f", $b);
对于您的问题,请使用
为什么number_format不起作用可以通过这个来证明。echo number_format(1234,0) + 1.0 结果为 2
echo sprintf("%.2f",(1234 + 1.0 ) ); // returns 1235.00
您可以使用 number_format()
函数来完成此操作。此函数还允许您定义要在小数点后显示的零数 - 您只需要使用第二个参数:
$a = 7200;
$b = $a/3600;
$b = floatval($b);
echo number_format($b, 2, '.', '');
或者,如果你想做一行:
echo number_format( (float) $b, 2, '.', '');
输出:
2.00