Изменение запятой на точку, работа с десятичными знаками в 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']));