在PHP下面右边添加一个小数点2个字符

时间:2009-10-08 16:37:05

标签: php decimal point

我有一个包含大量包含数字数据的元素的大数组。

示例:

3200
34300
1499
12899

我想将这些转换为:

32.00
343.00
14.99
128.99

如何在不使用正则表达式的PHP下优雅地实现这一目标?

提前致谢。

3 个答案:

答案 0 :(得分:12)

$new_array=array();
foreach($old_array as $value)
{
   $new_array[]=number_format(($value/100),2);
}

如果您想摆弄千位分隔符或其他内容,请参阅number_format。如果要修改数组值,请参阅foreach

答案 1 :(得分:2)

或者,如果您喜欢匿名函数和PHP 5.3:

$nums = array(1, 2, 3, 4);
array_walk($nums, function (&$val, $key) {
    $val = number_format($val/100, 2);
});
print_r($nums);

输出:

Array
(
    [0] => 1.00
    [1] => 2.00
    [2] => 3.00
    [3] => 4.00
)

仍然和所有,答案是一样的:使用number_format()

答案 2 :(得分:0)

使用number_format

for($i=0;$i<count($array);$i++)
{
    $array[$i] = number_format($array[$i]/100,2);
    //if you need them as numbers
    $array[$i] = (float) number_format($array[$i]/100,2);
}