Приведение к числу 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 не будет опубликован. Обязательные поля помечены *



Рекламный блок, для развития проекта