删除货币符号并设置为小数点后2位的最有效方法


Most efficient way to remove currency symbol and set to 2 decimal places

是否有更有效的方法:

  • 删除£符号
  • 将数字设置为小数点后2位
number_format((float)str_replace('£','',$number), 2, '.', '')

嗯,就像使用substr(删除第一个字符)而不是str_replace(搜索整个字符串)

number_format((float)substr($number, 1), 2, '.', '')

或使用sprintf

sprintf('%0.2f', $number)

哪个更快(如果重要的话)将取决于您的基准。

**请注意,如果您处理的值通常大于常规十进制或浮点值,那么这些方法都无法真正帮助您获得准确的精度。您需要使用更复杂的方法来完成舍入。即用进位从最后一个数一直除以第一个数。