0

无论输入是什么格式,我都在尝试使用 PHP 对其进行修改,因此输出始终保持一致,四舍五入到小数点后两位并带有美元符号。我的方法并不总是产生预期的结果,我想知道是否有人可以帮助我提出更强大的解决方案?

期望的输出:

$num = "$12.00"; //output   $12.00
$num = "125"; //output   $125.00
$num = "$300"; //output   $300.00
$num = "17.5"; //output   $17.50
$num = "1,777.5"; //output   $1777.50

我试过了,但这并不适用于所有情况:

$num = "$" . str_replace("$", "", round($num,0)) . ".00";

我很感激任何建议!提前谢谢了!

4

1 回答 1

1
$num =  "$" . str_replace("$", "", round($num,0));

在此行中,您在删除 $ 符号之前进行舍入。我必须反过来:

$num =  "$" . round(str_replace("$", "", $num),0);

编辑:为了得到你想要的输出,你可能想要使用 number_format() 而不是 round()

$num =  "$" . number_format(str_replace("$", "", $num),2, '.', '');
于 2013-09-14T22:53:20.283 回答