Chuyển đổi chuỗi thành float PHP

❮ Tham chiếu xử lý biến PHP

Ví dụ

Trả về giá trị float của các biến khác nhau

$a = "1234. 56789";
tiếng vang floatval($a). "
“;

$b = "1234. 56789Xin chào";
tiếng vang floatval($b). "
“;

$c = "Xin chào1234. 56789";
tiếng vang floatval($c). "
“;
?>

Tự mình thử »


Định nghĩa và cách sử dụng

Hàm floatval() trả về giá trị float của một biến


cú pháp

Giá trị tham số

Tham sốMô tảbiếnBắt buộc. Chỉ định biến để kiểm tra. Phải là một loại vô hướng

chi tiết kỹ thuật

Giá trị trả về. Giá trị float của biến khi thành công, 0 khi thất bại. Một mảng trống sẽ trả về 0 và một mảng không trống sẽ trả về 1Return Type. Phiên bản FloatPHP. 4. 2+
❮ Tham chiếu xử lý biến PHP

bản in và tiếng vang ít nhiều giống nhau; . Sự khác biệt là tinh tế. print có giá trị trả về là 1 vì vậy nó có thể được sử dụng trong các biểu thức trong khi echo có kiểu trả về là void;

var_dump in ra một kết xuất chi tiết của một biến, bao gồm loại của nó và loại của bất kỳ mục con nào (nếu đó là một mảng hoặc một đối tượng). print_r in một biến ở dạng dễ đọc hơn. chuỗi không được trích dẫn, loại thông tin bị bỏ qua, kích thước mảng không được cung cấp, v.v.

Theo kinh nghiệm của tôi, var_dump thường hữu ích hơn print_r khi gỡ lỗi. Nó đặc biệt hữu ích khi bạn không biết chính xác bạn có những giá trị/loại nào trong các biến của mình. Hãy xem xét chương trình thử nghiệm này

Khi lập trình bằng PHP, có thể xảy ra trường hợp bạn phải chuyển đổi một chuỗi thành một số nguyên. Nhưng chúng tôi biết rằng PHP không cần hoặc không hỗ trợ định nghĩa kiểu rõ ràng khi khai báo một biến. Vì vậy, bạn phải buộc một chuỗi được chuyển đổi thành một số nguyên

Chúng ta sẽ xem xét các cách khác nhau để một chuỗi có thể được chuyển đổi thành một số nguyên trong PHP trong bài viết này

Tại sao chúng ta cần chuyển đổi chuỗi thành số nguyên trong PHP?

Đôi khi bạn có thể cần chuyển đổi một chuỗi thành một số nguyên, float hoặc bất kỳ kiểu dữ liệu nào khác. Điều này là do dữ liệu hoặc giá trị bạn đang làm việc có thể thuộc loại dữ liệu khác. Bạn có thể có một số nguyên ở định dạng chuỗi từ người dùng. Vì vậy bạn phải chuyển chuỗi này thành số để thực hiện các thao tác trong chương trình

Chuyển đổi chuỗi thành float PHP

Sử dụng hàm number_format()

Hàm number_format() là một phương thức có sẵn trong PHP được sử dụng để chuyển đổi một chuỗi có hàng nghìn được nhóm lại. Phải mất 4 tham số

chuỗi số_định dạng ( $number, $decimals, $decimalpoint, $sep )

  • $number - Đây là số được định dạng. Nếu bạn không đặt bất kỳ tham số nào khác, số này sẽ được định dạng mà không có bất kỳ số thập phân nào
  • $decimals - Đây là tham số tùy chọn được sử dụng để chỉ định số thập phân
  • $decimalpoint - Điều này chỉ định chuỗi được sử dụng để đề cập đến dấu thập phân
  • $sep - Đây là một chuỗi chỉ định dấu tách hàng nghìn

Nếu phương thức chuyển đổi chuỗi thành công, nó sẽ trả về số được định dạng. Khi thất bại, nó sẽ trả về thông báo lỗi E_WARNING

cú pháp

number_format($string); // string into integer
number_format($string,2); // string into float

Mã ví dụ

Float Value: '.number_format($string,2);
}else{
	echo 'Not a numaric value';
}
?>

đầu ra

Integer Value: 25
Float Value: 25.00

Giải trình
Trong chương trình này, một số nguyên ở dạng chuỗi được gán cho một biến gọi là $string. Sau đó, is_numeric() kiểm tra giá trị của biến và sau đó định dạng nó bằng phương thức number_format(). nếu giá trị không phải là số, câu lệnh echo sẽ in ra chuỗi “Không phải là giá trị số”

Sử dụng kiểu truyền kiểu settype()

Phương thức settype() được sử dụng để đặt loại biến và sửa đổi loại hiện có của nó

settype($variable_name, $type)

  • $variable – Đây là biến cần được chuyển đổi
  • $type – Đây là loại bạn muốn chuyển đổi biến thành

cú pháp

(int)$string; // string into integer
(float)$string; // string into float
(double)$string; // string into double

Mã ví dụ

// Declare string value
$string = '25';
$stringf = '25.99';
$stringd = '25.99';

// Check if string in numaric
if (is_numeric($string)){

	// Convert string to integer using int type cast
	echo 'Integer Value: '.(int)$string;
}else{
	echo 'Not a numaric value';
}

// Check if string in numaric
if (is_numeric($stringf)){
	// Convert string to float using float type cast
 	echo '
Float Value: '.(float)$stringf; }else{ echo 'Not a numaric value'; } // Check if string in numaric if (is_numeric($stringf)){ // Convert string to float using float type cast echo '
Double Value: '.(double)$stringd; }else{ echo 'Not a numaric value'; }

đầu ra

Integer Value: 25
Float Value: 25.99
Double Value: 25.99

Giải trình
Trong mã này, bạn có thể quan sát thấy rằng kiểu chữ được sử dụng để chuyển đổi chuỗi thành số nguyên. Sau khi đánh giá xem biến đã cho có giá trị chuỗi hay không bằng cách sử dụng phương thức is_numeric, dòng echo 'Integer Value. '. (int)$string; . Tương tự, sau này trong chương trình, các biến được chuyển đổi thành double và float, bằng cách đề cập đến kiểu dữ liệu cùng với tên biến

Sử dụng hàm intval() và floatval()

Hàm intval() được sử dụng để trả về giá trị nguyên của một biến

int intval ( $var, $base )

Phải mất hai tham số

  • $var – Đây là biến mà bạn muốn chuyển thành số nguyên
  • $base – Tham số tùy chọn này chỉ định cơ sở cho chuyển đổi. Nếu $var có 0x làm tiền tố, thì 16 được lấy làm gốc. Nếu $var bắt đầu bằng 0, thì 8 được lấy làm gốc

Phương thức floatval() được sử dụng để lấy giá trị float của một biến. Chỉ nhận một tham số $var, đó là giá trị mà giá trị float cần được xác định

cú pháp

intval($string); // Convert string to integer
floatval($string); // Convert string to float

Mã ví dụ

// Declare string value
$string = '25.99';

// Check if string in numaric
if (is_numeric($string)){
	
	// Convert string to integer using intval function
    echo 'Integer Value: '.intval($string);
	
	// Convert string to float using floatval function
    echo '
Integer Value: '.floatval($string); }else{ echo 'Not a numaric value'; }

đầu ra

________số 8_______

Giải trình
Bạn có thể thấy rằng trong ví dụ này, intval() chuyển đổi giá trị được lưu trữ trong biến $string thành một số nguyên. Sau đó, cùng một giá trị được chuyển thành float bằng phương thức floatval()

Thực hiện các phép toán trên giá trị chuỗi

Ở đây, không có hàm dựng sẵn nào được sử dụng để chuyển đổi chuỗi thành số nguyên

Bằng cách thêm số "0" vào chuỗi

cú pháp

($string + 0);

Mã ví dụ

Float Value: '.number_format($string,2);
}else{
	echo 'Not a numaric value';
}
?>
0

đầu ra

Float Value: '.number_format($string,2);
}else{
	echo 'Not a numaric value';
}
?>
1

Giải trình
Đây là một trong những cách dễ nhất để chuyển đổi một chuỗi thành một số nguyên. Trong chương trình này, 0 được thêm vào chuỗi, chuyển đổi nó thành một số. Bằng cách thêm chuỗi bằng 0. 00 giá trị được chuyển thành float. Việc chuyển đổi này được thực hiện bởi PHP một cách tự động

Bằng cách nhân số "1" thành chuỗi

cú pháp

Float Value: '.number_format($string,2);
}else{
	echo 'Not a numaric value';
}
?>
2

Mã ví dụ

Float Value: '.number_format($string,2);
}else{
	echo 'Not a numaric value';
}
?>
3

đầu ra

Float Value: '.number_format($string,2);
}else{
	echo 'Not a numaric value';
}
?>
1

Giải trình
Một phương pháp đơn giản khác để một chuỗi được chuyển đổi thành một số nguyên là nhân nó với 1. Vì vậy, chuỗi 25. 23 được nhân với 1 để nhận giá trị nguyên

Phần kết luận

Tất cả các phương pháp này được áp dụng khi bạn nhận được một số dưới dạng một chuỗi nhưng muốn thực hiện một số phép toán trên đó. Mặc dù các phương thức ép kiểu intval(), float(), number_format() và kiểu rất hiệu quả, nhưng việc thêm 0 và nhân 1 vào một chuỗi là một cách rất nhanh để chuyển đổi nó thành một số