Приведение к числу 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)
Всем успехов в разработке