Имея большую проблему с json_encode, он автоматически округляет цифры, но мне нужно 2 десятичных знака для каждой цифры.
PHP:
<?php
$numbers = [1.00,2.00];
foreach ($numbers as $i => $number)
{
$numbers[$i] = number_format($number, 2, '.', null);
}
echo json_encode($numbers, JSON_NUMERIC_CHECK);
?>
ВЫХОД: [1,2]
ОЖИДАЕМЫЙ ВЫВОД: [1.00,2.00]
как я могу предотвратить автоматическое округление каждой цифры?
PS: НЕ СТРОКА :)
JSON_NUMERIC_CHECK
. Он будет кодировать ваши отформатированные числа в виде строк. - person martynasma   schedule 09.06.20151.00
вместо1
, вы можете попробовать добавить(string)
или(float)
передnumber_format()
, что означает(string)number_format()
- person Allen Chak   schedule 09.06.2015(string)number_format()
бессмысленно.number_format
уже возвращает строку, повторное приведение ничего не даст. Еслиnumber_format
не возвращает строку, приведение ее к единице также не поможет сохранить форматирование, потому чтоint
илиfloat
не имеют форматирования, а приведение к строке ничего не добавит. - person deceze♦   schedule 09.06.2015