是否可以使用PHP格式货币值,例如:200美元将输出为:$ 200(不含小数)但是如果是200.50美元,它将正确输出$ 200.50而不是$ 200.5?
谢谢! :)
答案 0 :(得分:5)
$num_decimals = (intval($amt) == $amt) ? 0 :2;
print ("$".number_format($amt,$num_decimals);
答案 1 :(得分:2)
如果您不介意自己处理货币,则可以简单地在数字上使用以下内容,以获得正确的输出。
该解决方案将始终输出尾随零(xx.x0或xx.00,具体取决于提供的数字)
$number = 1234
sprintf("%0.2f",$number)
// 1234.00
答案 2 :(得分:1)
相应地处理这种情况的自定义函数如何:
function my_number_format($number) {
if(strpos($number, '.')) {
return number_format($number, 2);
} else {
return $number;
}
}
答案 3 :(得分:-1)
答案 4 :(得分:-1)
有两种方法。可能最普遍支持和推荐的方法是sprintf。
sprintf("%01.2f", "200.5"); //200.50
sprintf("%01.2f", "10"); //10.00
number_format也很好,并且有各种各样的选项,如果要求,它会添加数千个分隔符。
还有money_format功能,但在Windows服务器上不支持。