我用
money_format('%(#15.2n',$money)
输出类似
的内容500.00美元
是否有一种方法可以删除美元符号和500之间的空格?
money_format
[docs]甚至可能无法在某些平台上工作。使用number_format
[docs]:
echo '$' . number_format($money, 2); // '$12.44'
如果你想让它填充到一定数量的空格,但在数字之前加上美元符号,你也可以使用sprintf
[docs]:
echo printf("%15s", '$' . number_format($money, 2)); // ' $12.44'
使用。大小写不敏感 (" ", ", $ 字符串)
删除额外的空格相当简单。您正在使用的代码实际上是添加填充。money_format
文档中的一个示例:
//美国国家格式,使用()表示负数
//和10位左精度
setlocale (LC_MONETARY en_US);
返回money_format('%(#10n', $number)。"' n";// ($ 1,234.57)
示例中的#15
是罪魁祸首。如果你要查看pre
标签内部的引用,你实际上会看到填充到15个空格的数字。
$ 500.00
如果你去掉那个…
money_format('%(.2n',$money)
你将得到:
$500.00
您还可以删除(
以不将负数包装在括号中(另一种选择是在开头添加-
)。如果你仍然想要和你在预期结果中引用的单个空格你可以尝试:
money_format('%(#4.2n',$money)
$str = preg_replace('/'s's+/', ' ', $str);
我是这样用的:
function my_money_format($number){
return str_replace(" ", "",money_format('%+#10n', $number));
}
echo money_format('$%i', $number)