Добавьте десятичную точку 2 символа справа под PHP
У меня есть большой массив, содержащий множество элементов, содержащих числовые данные.
Пример:
3200
34300
1499
12899
Я хочу преобразовать их в:
32.00
343.00
14.99
128.99
Как я могу добиться этого элегантно в PHP, не используя регулярное выражение?
Заранее благодарю.
3
3 answers
$new_array=array();
foreach($old_array as $value)
{
$new_array[]=number_format(($value/100),2);
}
Смотрите число_формат, если вы хотите поиграть с разделителем тысяч или чем-то еще. Смотрите для каждого , если вы хотите изменить значения массива на месте.
10
Author: ansate, 2009-10-08 16:44:21
Или, если вам нравятся анонимные функции и 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
Author: hlpiii, 2009-10-08 18:35:19
Использование число_формата.
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);
}
0
Author: Alan Storm, 2009-10-08 16:43:34