使用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最少的方法,而且很有可能即使您使用一些高级功能也可以做到这一点。