我有一个价格列表,逗号带有小数点,点是千位分隔符。
一些例子:
12,30 116,10 1.563,14
这些来自第三方。我想将它们转换为浮点数并将它们添加在一起。
做这个的最好方式是什么? number_format 似乎不适用于此格式, str_replace 似乎有点过头了,因为我必须对每个数字进行多次操作。
有更好的办法吗?谢谢。
使用str_replace()去除点并不过分。
str_replace()
$string_number = '1.512.523,55'; // NOTE: You don't really have to use floatval() here, it's just to prove that it's a legitimate float value. $number = floatval(str_replace(',', '.', str_replace('.', '', $string_number))); // At this point, $number is a "natural" float. print $number;
几乎可以肯定,这是执行此操作所需的CPU最少的方法,而且很有可能即使您使用一些高级功能也可以做到这一点。