打破格式化的数字

时间:2011-04-28 20:03:40

标签: php

假设我在PHP中将以下格式编号作为字符串:

12,345,678.97

我如何在PHP中解决这个问题,我会得到如下数组?

array
(
  [0] => 12,
  [1] => ',',
  [2] => '345',
  [3] => ',',
  [4] => '678',
  [5] => '.',
  [6] => '97'
);

OR

array
(
  [0] => 97,
  [1] => '.',
  [2] => '678',
  [3] => ',',
  [4] => '345',
  [5] => ',',
  [6] => '12'
);

我基本上想要分解字符串,以便数字被组破坏,并且数字组之间的字符也被分解。我需要这样做才能自动确定PHP中货币字符串的千位/小数分隔符。

2 个答案:

答案 0 :(得分:4)

在这种情况下,使用preg_split会很好用:

// Split at any non-number
$arr = preg_split('/(\D)/', $str, -1, PREG_SPLIT_DELIM_CAPTURE);

答案 1 :(得分:0)

您可能需要登录number_format(http://php.net/manual/en/function.number-format.php)来解决问题。已内置于PHP:)

还找到money_format(http://www.php.net/manual/en/function.money-format.php)