Изменение запятой на точку, работа с десятичными знаками в php
Итак, у меня есть некоторые поля, исходящие из формы. Здесь вы можете ввести 0.3 и вставить 0.3 в базу данных. Вводите ли вы 0,3, он просто вставляет "0".
$product['protein']; // 0,3
Итак, как это выше, как я могу заменить запятую точкой?
Ответы
Ответ 1
Попробуйте функцию PHP str_replace():
$product['protein'] = str_replace(',', '.', $product['protein']);
Это должно быть хорошо.
Вы можете подумать использовать number_format():
number_format($value, $numberOfDecimals, $charaForDecimalPoint, $charForThousandsSeparator)
но в вашем случае это не будет применяться, из-за того, что ваше начальное значение ( "0,3" ) не будет считаться числом.
Фактически, десятичная точка для числового значения должна быть точкой ( "." ).
Используйте number_format, только если ваше начальное значение является истинным числом.
Ответ 2
$product['protein'] = str_replace(",",".",$product['protein'])
Подробнее о посещении функции str_replace: http://uk.php.net/str_replace
Ответ 3
попробовать
$product['protein'] = str_replace(",",".",$product['protein'])
Ответ 4
$product['protein'] = str_replace(',', '.', str_replace('.', '', $product['protein']));