我想要的只是将'1.234,56'转换为'1,234.56' ......
我读到使用数组(s)作为str_replace参数,所以我这样做了:
$value = '1.234,56';
$replacer1 = ',';
$replacer2 = '.';
echo \str_replace(array($replacer1, $replacer2), array($replacer2,$replacer1), $value);
//Prints '1,234,56' instead of '1,234.56'
输入和它的替换器是可变的,它不一定只用于数字。
有什么想法吗?感谢...
答案 0 :(得分:1)
试试这个。我使用number_format()来做这个
<?php
$number = "1.234,56";
$number = str_replace(array('.',','), array('','.'), $number);
echo number_format($number, 2, '.', ',');
您也可以使用money_format()功能。请注意它不适用于Windows。
这是另一种方法。
<?php
$str = "1.234,56";
$rp1 = '.';
$rp2 = ',';
//you might want to create a function for this.
if(false===strpos($str, '@')){
$str = str_replace($rp1, '@', $str);
$str = str_replace($rp2, $rp1, $str);
$str = str_replace('@', $rp2, $str);
}
echo $str;
您还可以使用#!MYSEP!#