当我想将整数
值转换为浮点数
(带有小数点的数字)时,遇到了麻烦。
$a = 7200;
$b = $a/3600;
echo $b; // 2
$b = floatval($b);
echo $b; // 2
但应该回显2.0
或2.00
我也尝试了settype,但没有成功。 而我只能找到有关“浮点数转整数”的帮助/解决方案/问题。
当我想将整数
值转换为浮点数
(带有小数点的数字)时,遇到了麻烦。
$a = 7200;
$b = $a/3600;
echo $b; // 2
$b = floatval($b);
echo $b; // 2
但应该回显2.0
或2.00
我也尝试了settype,但没有成功。 而我只能找到有关“浮点数转整数”的帮助/解决方案/问题。
更新:
用途:
echo sprintf("%.2f", $b); // returns 2.00
使用
echo number_format($b, 2);
eg:
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
无法正常工作可以通过以下代码演示:echo number_format(1234,0) + 1.0
。结果是 2
。 - David Baucumsprintf
也返回一个字符串! - Kostiantynnumber_format()
函数来实现这一点。该函数还允许你定义小数点后显示的零的位数,只需要使用第二个参数即可:$a = 7200;
$b = $a/3600;
$b = floatval($b);
echo number_format($b, 2, '.', '');
或者,如果您想一行代码完成:
echo number_format( (float) $b, 2, '.', '');
输出:
2.00
请做类似于以下的事情:
<?php
$a = 7200;
$b = $a/3600;
$b = number_format($b,2);
echo $b; // 2.00
?>
-
number_format(number,decimals,decimalpoint,separator)
$b = number_format((float)$b, 1, '.', '');
echo $b; // 2.0