9

Как преобразовать строку в число в PHP?

3

Я хочу преобразовать такие значения, как '3', '2.34', '0.234343' и т.д. в числовой формат. В JavaScript для этого можно использовать Number(), но есть ли аналогичный метод в PHP?

Входные данные      Выходные данные
'2'                2
'2.34'             2.34
'0.3454545'        0.3454545

5 ответ(ов)

0

В любом языке (слабо типизированном) вы всегда можете привести строку к числу, добавив к ней ноль.

Тем не менее, в этом мало смысла, так как PHP будет делать это автоматически в момент использования переменной, и она всё равно будет приведена к строке при выводе.

Обратите внимание, что вы можете захотеть оставить числа с плавающей запятой в виде строк, поскольку после приведения к типу float они могут измениться непредсказуемо из-за природы вещественных чисел.

0

Вместо того, чтобы выбирать, конвертировать ли строку в int или float, вы можете просто добавить к ней 0, и PHP автоматически преобразует результат в числовой тип.

Вот пример кода:

// Проверяем, что строка действительно является числом
if (is_numeric($string)) {
    $number = $string + 0;
} else { // Если строка не число, присваиваем $number значение 0
    $number = 0;
}

Этот подход позволяет избежать явного преобразования типов и эффективно обрабатывать любые строковые значения, которые представляют собой числа.

0

Если вам нужно получить тип float для переменной $value = '0.4', но int для $value = '4', вы можете использовать следующий код:

$number = ($value == (int) $value) ? (int) $value : (float) $value;

Хотя это может показаться немного грязным решением, оно работает.

0

Вы можете использовать:

(int)(ваше_значение);

Или вы можете использовать:

intval(строка);
0

Вы всегда можете добавить ноль к строке, чтобы преобразовать её в число!

Вот примеры:

Input             Output
'2' + 0           2 (int)
'2.34' + 0        2.34 (float)
'0.3454545' + 0   0.3454545 (float)

При добавлении числа 0 к строке, Python автоматически преобразует строку в соответствующий числовой тип (int или float), в зависимости от содержимого строки. Это довольно удобный способ для конверсии строковых представлений чисел в числовые типы.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь