是否有更有效的方法:
- 删除£符号
- 将数字设置为小数点后2位
number_format((float)str_replace('£','',$number), 2, '.', '')
嗯,就像使用substr
(删除第一个字符)而不是str_replace(搜索整个字符串)
number_format((float)substr($number, 1), 2, '.', '')
或使用sprintf
sprintf('%0.2f', $number)
哪个更快(如果重要的话)将取决于您的基准。
**请注意,如果您处理的值通常大于常规十进制或浮点值,那么这些方法都无法真正帮助您获得准确的精度。您需要使用更复杂的方法来完成舍入。即用进位从最后一个数一直除以第一个数。