Làm cách nào để bạn chuyển đổi một loại biến này sang một loại biến khác, nói một chuỗi thành một số trong php

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

Làm cách nào để bạn chuyển đổi một loại biến này sang một loại biến khác, nói một chuỗi thành một số trong 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 thích.
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 thích.
Trong đoạn 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 thích.
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 thích.
Đâ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 thích.
Một phương pháp đơn giản khác để chuyển đổi chuỗi thành 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.

Sự 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ố

Chúng ta có thể chuyển đổi giá trị chuỗi thành số không?

Sử dụng số nguyên. parseInt() để chuyển đổi chuỗi thành số nguyên . Nếu chuỗi không chứa số nguyên hợp lệ thì nó sẽ ném NumberFormatException.

Làm thế nào bạn sẽ chuyển đổi một giá trị chuỗi thành một giá trị số nguyên?

Chúng ta có thể chuyển đổi String thành int trong java bằng Integer. phương thức parseInt(). Để chuyển đổi String thành Integer, chúng ta có thể sử dụng Integer. valueOf() phương thức trả về thể hiện của lớp Integer

Hàm chuyển đổi nào chuyển đổi một chuỗi thành một số?

Hàm atoi() chuyển đổi một chuỗi ký tự thành một giá trị số nguyên. Chuỗi đầu vào là một chuỗi các ký tự có thể được hiểu là một giá trị số của kiểu trả về được chỉ định. Hàm dừng đọc chuỗi đầu vào ở ký tự đầu tiên mà nó không thể nhận ra là một phần của số.

Cách nhanh nhất để chuyển đổi một chuỗi thành một số là gì?

Chuyển đổi chuỗi thành số là cực kỳ phổ biến. Cách dễ nhất và nhanh nhất (jsPerf) để đạt được điều đó là sử dụng toán tử + (cộng) . Bạn cũng có thể sử dụng toán tử - (trừ) loại chuyển đổi giá trị thành số nhưng cũng phủ định giá trị đó.