Я пытался экспортировать запрос к базе данных в CSV, и возникла необходимость использовать другую десятичную запятую. Кажется невозможным изменить десятичную запятую в MySQL , поэтому я попытался в PHP:
setlocale(LC_NUMERIC, "cs_CZ");
Но похоже, что все функции базы данных, такие как mysql_fetch_row
и mysql_fetch_assoc
, получаютданные типа string
вместо double
:
$res = mysql_query("select 50/3");
$row = mysql_fetch_row($res);
var_dump($row); // $row[0] is of type "string"
Таким образом, в общем случае в PHP уже нет данных типа double
, а есть только строки!
Так есть ли какой-нибудь общий, чистый способ указать выходные данные десятичной точки?
Я закончил преобразование строк, используя str_replace('.', ',', $row[0])
, но это ужасно по двум причинам:
- Вы должны знать, какое поле имеет тип
double
- Это грязное задание.