我有这段代码:
var_dump(format_currency($product_tax = $prodotto->getFinalPrice() + $product->getTax()));
var_dump(str_replace(" ", "", format_currency($product_tax = $prodotto->getFinalPrice() + $product->getTax())));
它输出:
string ' 333,88' (length=8)
string ' 333,88' (length=8)
为什么str_replace函数不起作用?
此致
哈维
答案 0 :(得分:1)
尝试使用trim
- 空格可能实际上不是空格 - 可能是其他一些内容。
var_dump(trim($yourString));
答案 1 :(得分:0)
我假设你正在使用symfony。而不是试图考虑可能会根据默认文化而改变的隐形角色(黑名单),为什么不简单地列入白名单?
echo preg_replace('/[^0-9\.,]/i', '', format_currency(...));
这将删除任何不是数字(0-9)的逗号(,)或小数点(。)
答案 2 :(得分:0)
你应该使用number_format()
$value = number_format($product_tax = $prodotto->getFinalPrice() + $product->getTax(), 2, ',');
// the ',' will force the decimal charecter to be ','
var_dump($value) --> string '333,88' (length=7)