我用
money_format('%(#15.2n',$money)
输出类似
的内容$ 500.00
有没有办法删除美元符号和500之间的空格?
答案 0 :(得分:8)
money_format
[docs] 甚至可能无法在某些平台上运行。使用number_format
[docs] 会更可靠:
echo '$' . number_format($money, 2); // '$12.44'
如果您希望将其填充到一定数量的空格,但在数字前面加上美元符号,您还可以使用sprintf
[docs] :< / p>
echo printf("%15s", '$' . number_format($money, 2)); // ' $12.44'
答案 1 :(得分:1)
使用str_replace(“”,“”,$ string)
答案 2 :(得分:1)
删除额外的空格非常简单。您正在使用的代码实际上是添加填充。 money_format
文档中的一个示例:
//美国国家格式,使用()表示负数
//左边精度为10位数 setlocale(LC_MONETARY,'en_US');
echo money_format('%(#10n',$ number)。“\ n”;
// ($ 1,234.57)
您示例中的#15
是罪魁祸首。如果您要查看pre
标记内的引用,您实际上会看到数字填充到15个空格。
$ 500.00
如果你删除了......
money_format('%(.2n',$money)
你会得到:
$500.00
您也可以删除(
以不在括号中包含负数(替代方案是开头的-
)。如果你真的想要和你在预期结果中引用的单个空格,你可以尝试:
money_format('%(#4.2n',$money)
答案 3 :(得分:0)
$str = preg_replace('/\s\s+/', ' ', $str);
答案 4 :(得分:0)
这就是我使用的:
function my_money_format($number){
return str_replace(" ", "",money_format('%+#10n', $number));
}
答案 5 :(得分:-2)
echo money_format('$%i', $number)