我需要一个$ _POST变量并强制它有2个小数位,没有逗号.
以下工作,但肯定这是最好的方法来做到这一点.
$difference = str_replace(",","",number_format((int)$_POST["difference"],2));
Run Code Online (Sandbox Code Playgroud)
我把它(int)$_POST["difference"],2)所以它将null值转换为0并防止警告,number_format() expects parameter 1 to be double, string given ...因为可能没有使用上一页上的某些表单输入.
正如我所说,这确实有效.主要是我担心这样做会产生意想不到的副作用,因为它看起来不太干净.
有没有更好的办法?
number_format((float)$number, 2, '.', '');
Run Code Online (Sandbox Code Playgroud)
其他方式:
sprintf('%0.2f', $unpadded); // 520 -> 520.00
Run Code Online (Sandbox Code Playgroud)