Приведение к числу c плавающей точкой строки в PHP
При необходимости приведения строки к числу с плавающей точкой, в PHP можно воспользоваться встроенной функцией floatval()
Пример 1 строка «122.77»
$var = "122.77"; echo var_dump($var); $var = floatval($var); echo var_dump($var);
Результат выполнения:
string(6) "122.77" double(122.77)
В примере выше, все сработало. Если же вместо точки будет использована запятая, то результат будет другим.
Пример 2 строка «122,77»
$var = "122,77"; echo var_dump($var); $var = floatval($var); echo var_dump($var);
Результат выполнения:
string(6) "122,77" double(122)
В примере выше, запятая уже распознается как строкой символ и данные после нее игнорируются.
Чтобы обойти это ограничение, можно воспользоваться заменой значения запятой на точку, пример описан здесь
Пример 3 строка «122.77 другой какой-то текст»
$var = "122.77 другой какой-то текст"; echo var_dump($var); $var = floatval($var); echo var_dump($var);
Результат:
string(46) "122.77 другой какой-то текст" double(122.77)
Если строка будет с числовыми символами слева, то все происходит нормально. Но если строка будет начинаться с строковых символов, то уже не сработает.
Пример 3 строка «другой какой-то текст 122.77»
$var = "другой какой-то текст 122.77"; echo var_dump($var); $var = floatval($var); echo var_dump($var);
Результат:
string(46) "другой какой-то текст 122.77" double(0)
Всем успехов в разработке