Как преобразовать строку в число в PHP?
Я хочу преобразовать такие значения, как '3'
, '2.34'
, '0.234343'
и т.д. в числовой формат. В JavaScript для этого можно использовать Number()
, но есть ли аналогичный метод в PHP?
Входные данные Выходные данные
'2' 2
'2.34' 2.34
'0.3454545' 0.3454545
5 ответ(ов)
В любом языке (слабо типизированном) вы всегда можете привести строку к числу, добавив к ней ноль.
Тем не менее, в этом мало смысла, так как PHP будет делать это автоматически в момент использования переменной, и она всё равно будет приведена к строке при выводе.
Обратите внимание, что вы можете захотеть оставить числа с плавающей запятой в виде строк, поскольку после приведения к типу float они могут измениться непредсказуемо из-за природы вещественных чисел.
Вместо того, чтобы выбирать, конвертировать ли строку в int
или float
, вы можете просто добавить к ней 0
, и PHP автоматически преобразует результат в числовой тип.
Вот пример кода:
// Проверяем, что строка действительно является числом
if (is_numeric($string)) {
$number = $string + 0;
} else { // Если строка не число, присваиваем $number значение 0
$number = 0;
}
Этот подход позволяет избежать явного преобразования типов и эффективно обрабатывать любые строковые значения, которые представляют собой числа.
Если вам нужно получить тип float для переменной $value = '0.4'
, но int для $value = '4'
, вы можете использовать следующий код:
$number = ($value == (int) $value) ? (int) $value : (float) $value;
Хотя это может показаться немного грязным решением, оно работает.
Вы можете использовать:
(int)(ваше_значение);
Или вы можете использовать:
intval(строка);
Вы всегда можете добавить ноль к строке, чтобы преобразовать её в число!
Вот примеры:
Input Output
'2' + 0 2 (int)
'2.34' + 0 2.34 (float)
'0.3454545' + 0 0.3454545 (float)
При добавлении числа 0 к строке, Python автоматически преобразует строку в соответствующий числовой тип (int или float), в зависимости от содержимого строки. Это довольно удобный способ для конверсии строковых представлений чисел в числовые типы.
Как вывести ошибки PHP на экран?
UTF-8 на всех уровнях!
Функции startsWith() и endsWith() в PHP
Что такое потокобезопасность и непотокобезопасность в PHP?
Как преобразовать символ в строку?