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

Опубликовано: 4 Февраля, 2022

Строки в PHP можно очень легко преобразовать в числа (float / int / double). В большинстве случаев это не требуется, поскольку PHP выполняет неявное преобразование типов. В PHP существует множество методов преобразования строки в число, некоторые из них обсуждаются ниже:

Способ 1. Использование функции number_format (). Функция number_format () используется для преобразования строки в число. Он возвращает отформатированное число в случае успеха, иначе выдает E_WARNING в случае неудачи.

Example:

<?php
  
$num = "1000.314";
  
// Convert string in number using 
// number_format(), function
echo number_format($num), " ";
  
// Convert string in number using 
// number_format(), function
echo number_format($num, 2);
?>
Output:
1,000
1,000.31

Метод 2: Использование приведения типов: Приведение типов может напрямую преобразовать строку в тип с плавающей запятой, двойной или целочисленный примитивный тип. Это лучший способ преобразовать строку в число без какой-либо функции.

Example:

<?php
  
// Number in string format
$num = "1000.314";
  
// Type cast using int
echo (int)$num, " ";
  
// Type cast using float
echo (float)$num, " ";
  
// Type cast using double
echo (double)$num;
?>
Output:
1000
1000.314
1000.314

Метод 3 : Использование функций intval () и floatval (). Функции intval () и floatval () также могут использоваться для преобразования строки в соответствующие ей целочисленные значения и значения с плавающей запятой соответственно.

Example:

<?php
  
// Number in string format
$num = "1000.314";
  
// intval() function to convert 
// string into integer
echo intval($num), " ";
  
// floatval() function to convert
// string to float
echo floatval($num);
?>
Output:
1000
1000.314

Method 4: By adding 0 or by performing mathematical operations. The string number can also be converted into an integer or float by adding 0 with the string. In PHP, performing mathematical operations, the string is converted to an integer or float implicitly.

<?php
      
// Number into string format
$num = "1000.314";
  
// Performing mathematical operation 
// to implicitly type conversion
echo $num + 0, " ";
  
// Performing mathematical operation 
// to implicitly type conversion
echo $num + 0.0, " ";
  
// Performing mathematical operation 
// to implicitly type conversion
echo $num + 0.1;
?>
Output:
1000.314
1000.314
1000.414