Giá trị kép PHP

Toán tử so sánh là một khía cạnh thường bị bỏ qua của PHP, điều này có thể dẫn đến nhiều kết quả không mong muốn. Một trong những vấn đề như vậy bắt nguồn từ so sánh nghiêm ngặt (so sánh các phép toán luận dưới dạng số nguyên)

9, và bạn sẽ thấy đầu ra chính xác của 
0. Nếu sử dụng dấu ngoặc kép, điều đó sẽ cố gắng đánh giá tên biến 
1 và hiển thị lỗi nếu không tìm thấy biến nào

2 cho dòng mới, 
3 cho tab, v.v.

4

Trong toán tử Double not (. ), đầu tiên không phải tôi. e. . được sử dụng để phủ định một giá trị, trong khi giá trị thứ hai thì không. e. một lần nữa phủ nhận. Để triển khai toán tử Double not trong PHP, mã như sau−

Thí dụ

Bản thử trực tiếp

Double Negated Value = $res";
?>

đầu ra

Điều này sẽ tạo ra đầu ra sau−

Value = 0.1
Double Negated Value = 1

Thí dụ

Bây giờ chúng ta hãy xem một ví dụ khác -

Bản thử trực tiếp

Number (Converted from String) = $num";
   $res = !!$num;
   echo "
Double Negated Value = $res"; ?>

đầu ra

Điều này sẽ tạo ra đầu ra sau−

String = 100.56
Number (Converted from String) = 100.56 
Double Negated Value = 1

Giá trị kép PHP


Giá trị kép 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

Giá trị kép 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

Integer Value: 25
Integer Value: 25.99

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ố

Làm cách nào để khai báo gấp đôi trong PHP?

Số dấu phẩy động (còn được gọi là "số float", "nhân đôi" hoặc "số thực") có thể được chỉ định bằng bất kỳ cú pháp nào sau đây. ? php $a = 1. 234; . 2e3; . For information on converting strings to float , see String conversion to numbers.

Việc sử dụng $$ trong PHP là gì?

$x (đơn đô la) là biến thông thường có tên x lưu trữ bất kỳ giá trị nào như chuỗi, số nguyên, float, v.v. $$x (đô la kép) là biến tham chiếu lưu trữ giá trị có thể được truy cập bằng cách sử dụng ký hiệu $ trước giá trị $x . Chúng được gọi là biến biến trong PHP.

Làm cách nào để kiểm tra xem biến có gấp đôi trong PHP không?

Hàm is_double() là một hàm có sẵn trong PHP được sử dụng để tìm xem giá trị đã cho có phải là gấp đôi hay không.

Làm cách nào để nhận giá trị nổi trong PHP?

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