Приведение к числу 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)

Всем успехов в разработке

Добавить комментарий

Ваш адрес email не будет опубликован.