Hướng dẫn doubleval php - doubleval php

Thay đổi ngôn ngữ:

Gửi báo cáo yêu cầu kéo một lỗi

(Php 4, Php 5, Php 7, Php 8)

DoubleVal - Bí danh của floatval ()Alias of floatval()

Sự mô tả

Hàm này là một bí danh của: floatval ().floatval().

+ Thêm một ghi chú

Người dùng đóng góp ghi chú

Không có người dùng đóng góp ghi chú cho trang này.

$a *= 5 // tương đương $a = $a * 5

/=

Chia gán


$a = "1234.56789";
echo doubleval($a) . "
";

Phép trừ
echo doubleval($b) . "
";

$a – $b // = 7
echo doubleval($c) . "
";
?>

*


Phép nhân

The doubleval() function returns the float value of a variable.

This function is an alias of floatval().


Syntax

Parameter Values

ParameterDescription
variable Required. Specifies the variable to check. Must be a scalar type

Technical Details

Return Value:The float value of the variable on success, 0 on failure. An empty array will return 0, and a non-empty array will return 1
Return Type:Float
PHP Version:4.0+

❮ PHP Variable Handling Reference


+ Nếu bạn thấy site hữu ích, trước khi rời đi hãy giúp đỡ site bằng một hành động nhỏ để site có thể phát triển và phục vụ bạn tốt hơn.+ Nếu bạn thấy bài viết hữu ích, hãy giúp chia sẻ tới mọi người.+ Nếu có thắc mắc hoặc cần trao đổi thêm, mời bạn viết trong phần thảo luận cuối trang.Cảm ơn bạn!

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

Thí dụ

-=
$a = "1234.56789";
echo doubleval($a) . "
";

Nhỏ hơn hoặc bằng
echo doubleval($b) . "
";

>
echo doubleval($c) . "
";
?>


Lớn hơn

2 > 3 // false

>= floatval () .


Lớn hơn hoặc bằng

3 >= 3 // true

== So sánh bằng
3 == 3 // true !=

So sánh khác

2 != 3 // true Phép toán tăng ++ có hai dạng: tăng trước ++$a và tăng sau $a++.biến khi thành công, 0 khi thất bại. Mảng trống sẽ trả về 0 và mảng không trống sẽ trả về 1
2 3 // true Phép so sánh spaceship
1 2 // -13 2 // +11 1 // 0 4.0+

+ Nếu bạn thấy site hữu ích, trước khi rời đi hãy giúp đỡ site bằng một hành động nhỏ để site có thể phát triển và phục vụ bạn tốt hơn.+ Nếu bạn thấy bài viết hữu ích, hãy giúp chia sẻ tới mọi người.+ Nếu có thắc mắc hoặc cần trao đổi thêm, mời bạn viết trong phần thảo luận cuối trang.Cảm ơn bạn!


Lớn hơn hoặc bằng

3 >= 3 // true

==

So sánh bằng

3 == 3 // true

!= hệ cơ số 2 được viết với tiền tố 0b (hoặc 0B) và -0b/-0B (với số âm). Ví dụ:

php > $bin = 0b1100;
php > echo $bin;
12
php > $bin = 0B0011;
php > echo $bin;
3
php > 

So sánh khác hệ cơ số 8 được viết với tiền tố 0 – số không (hoặc -0 nếu là số âm). Ví dụ:

php > $oct = 0755;
php > echo $oct;
493
php > $oct = +010;
php > echo $oct;
8
php >

2 != 3 // true 0x hoặc 0X (-0x, -0X với số âm). Ví dụ:

php > $hex = 0xff;
php > echo $hex;
255
php > $hex = -0xdad;
php > echo $hex;
-3501
php > $hex = 0X11FF;
php > echo $hex;
4607
php >

Để kiểm tra giá trị một biến đang chứa có thuộc kiểu số nguyên hay không có thể sử dụng hàm is_int() hoặc is_integer():is_int() hoặc is_integer():

php > $i = 100;
php > echo is_int($i);
1
php > echo is_integer($i);
1
php > $i = "100";
php > echo is_int($i); // kết quả là chuỗi rỗng -> false
php >

Bạn cũng có thể sử dụng hàm gettype() để lấy tên kiểu giá trị của biến. Nếu biến chứa số nguyên, kết quả trả về sẽ là chuỗi “integer“.gettype() để lấy tên kiểu giá trị của biến. Nếu biến chứa số nguyên, kết quả trả về sẽ là chuỗi “integer“.

php > $i = 100;
php > gettype($i);
php > echo gettype($i);
integer

Kiểu số nguyên trong PHP có hai tên gọi: integer và int. Mặc dù chúng là một nhưng được sử dụng trong các hoàn cảnh khác nhau:integer int. Mặc dù chúng là một nhưng được sử dụng trong các hoàn cảnh khác nhau:

  • Tên gọi integer được sử dụng trong kết quả của hàm kiểm tra kiểu gettype().integer được sử dụng trong kết quả của hàm kiểm tra kiểu gettype().
  • Tên gọi int được sử dụng làm chỉ báo kiểu trong khai báo hàm (trong PHP 7). Hàm sẽ được xem xét chi tiết ở một bài học riêng.int được sử dụng làm chỉ báo kiểu trong khai báo hàm (trong PHP 7). Hàm sẽ được xem xét chi tiết ở một bài học riêng.
  • Trong phép toán chuyển đổi kiểu có thể sử dụng cả (integer) và (int). Xem chi tiết ở phần sau của bài học này.chuyển đổi kiểu có thể sử dụng cả (integer)(int). Xem chi tiết ở phần sau của bài học này.

Chuyển đổi dữ liệu về kiểu số nguyên

PHP cho phép chuyển đổi dữ liệu từ kiểu chuỗi và logic về số nguyên. Để chuyển đổi, bạn sử dụng phép toán chuyển đổi kiểu (int) hoặc (integer) trước giá trị/biến cần chuyển và gán kết quả cho một biến khác.phép toán chuyển đổi kiểu (int) hoặc (integer) trước giá trị/biến cần chuyển và gán kết quả cho một biến khác.

Quy tắc chuyển đổi như sau:

  • Giá trị false -> 0.
  • Giá trị true -> 1.
  • Nếu chuỗi chứa toàn chữ số -> chuyển thành giá trị ở cơ số 10.
  • Nếu chuỗi bắt đầu bằng chữ số -> trích phần chữ số để chuyển thành số ở cơ số 10.
  • Các loại chuỗi khác -> giá trị 0.

Hãy xem các ví dụ sau:

php > $i = 100;
php > gettype($i);
php > echo gettype($i);
integer
php > $i = (int) "1000"; // chuyển đổi kiểu string -> int
php > echo gettype($i);
integer
php > $i = (integer) "10000"; // chuyển đổi kiểu string -> integer
php > echo gettype($i);
integer
php > $i_str = "100a"; // chuỗi này chuyển được thành số nguyên
php > $i = (int)$i_str; // phép chuyển đổi này cho kết quả 100
php > echo $i;
100
php > $i_str = "a100"; // chuỗi này không chuyển được
php > $i = (int)$i_str; // phép chuyển đổi này cho kết quả 0
php > echo $i;
0
php > $i = (int) true; // chuyển đổi kiểu bool -> int
php > echo gettype($i);
integer
php > echo $i;
1
php > $i = (int) false;
php > echo $i;
0
php >  

Một cách khác để chuyển đổi giá trị về số nguyên là sử dụng hàm intval().intval().

Hãy xem ví dụ sau:

php > $dec_str = '1234';
php > $dec = intval($dec_str); // chuyển chuỗi '1234' về số nguyên hệ 10 (mặc định)
php > echo gettype($dec);
integer
php > echo $dec;
1234
php > $hex_str = "ff";
php > $hex = intval($hex_str, 16); // chuyển chuỗi "ff" hệ 16 về số nguyên hệ 10, thu được giá trị 255
php > echo $hex;
255
php > $bin_str = '10000000';
php > $bin = intval($bin_str, 2); // chuyển chuỗi '10000000' hệ 2 về số nguyên hệ 10, thu được 128
php > echo $bin;
128
php >

Sự khác biệt giữa chuyển đổi kiểu (int) và intval() nằm ở chỗ, intval có thể chấp nhận chuỗi biểu diễn số ở những hệ cơ số khác, trong khi (int) chỉ hiểu những chuỗi biểu diễn số ở hệ 10. Về hiệu suất thì (int) nhanh hơn intval().

Hai phương pháp trên cũng được dùng để chủ động chuyển đổi từ giá trị số thực về số nguyên.

Kiểu số thực float/double trong PHP

Float hay double là tên của kiểu dữ liệu biểu diễn các số thực dấu phẩy động trong PHP.

PHP cho phép viết số thực ở một trong hai dạng:

  • Dạng thông thường: 1.23456, +1.23456, -1.23456. Lưu ý sử dụng dấu chấm để phân tách phần thập phân.
  • Dạng khoa học: 1.234e2, 1.234e+2, 1234e-2, 1.234E2, -1234E2. Có thể viết e hoặc E đều được, trong đó En tương đương với *10^n. Ví dụ, 1.234e2 = 1.234 * 10^2 = 123.4
php > $d1 = 1.234;
php > $d2 = -1.23456;
php > $d3 = -1.23456;
php > $d4 = 1.234e2;
php > echo $d4;
123.4
php > $d5 = 1234e-2;
php > echo $d5;
12.34
php >

Để kiểm tra một giá trị có thuộc kiểu số thực hay không, bạn có thể sử dụng hàm is_float() hoặc is_double().is_float() hoặc is_double().

Khi sử dụng hàm gettype() trên biến kiểu số thực sẽ thu được kết quả là ‘double‘.gettype() trên biến kiểu số thực sẽ thu được kết quả là ‘double‘.

Tương tự, bạn có thể chuyển đổi kiểu từ các kiểu dữ liệu khác (string, int) về kiểu số thực qua phép chuyển đổi kiểu (float) hoặc (double) hoặc qua hàm floatval()/doubleval().chuyển đổi kiểu từ các kiểu dữ liệu khác (string, int) về kiểu số thực qua phép chuyển đổi kiểu (float) hoặc (double) hoặc qua hàm floatval()/doubleval().

Kiểu số thực trong PHP cũng có hai tên gọi: float và double. Trong các phiên bản PHP trước 7.4 bạn còn gặp tên gọi real.float double. Trong các phiên bản PHP trước 7.4 bạn còn gặp tên gọi real.

Giống trường hợp số nguyên, tên các kiểu số thực được sử dụng trong những hoàn cảnh khác nhau:

  • Tên gọi double được sử dụng trong kết quả của hàm kiểm tra kiểu gettype().gettype().
  • Tên gọi float được sử dụng làm chỉ báo kiểu trong khai báo hàm.
  • Cả hai tên gọi đều có thể sử dụng trong phép toán chuyển đổi kiểu (float) và (double). Trong PHP 7.4 cách viết (real) mặc dù vẫn đúng nhưng bị đánh dấu deprecated cast.(float)(double). Trong PHP 7.4 cách viết (real) mặc dù vẫn đúng nhưng bị đánh dấu deprecated cast.

Các phép toán trên kiểu số

Phép toán số học

Cả số nguyên và số thực trong PHP đều có chung một số phép toán số học:phép toán số học:

Giả sử có hai biến $a = 10; $b = 3;

Ký hiệuPhép toánVí dụ
+ Phép cộng $a + $b // = 13
Phép trừ $a – $b // = 7
* Phép nhân $a * $b // = 30
/ Phép chia $a / $b // = 3.3333
% Phép chia lấy dư $a % $b // = 1
** Phép lũy thừa $a ** $b // = 1000
Phép trừ $a – $b // = 7

*

  • Phép nhân
  • $a * $b // = 30
  • /

Phép chia

$a / $b // = 3.3333 các phép gán +=, -=, *=, /=:

Ký hiệuPhép toánVí dụ
+ Phép cộng $a + $b // = 13
Phép trừ $a – $b // = 7
* Phép nhân $a * $b // = 30
/ Phép chia $a / $b // = 3.3333
% Phép chia lấy dư $a % $b // = 1

**

Phép lũy thừa phép toán tăng giảm ++ và –:

$a ** $b // = 1000 ++ có hai dạng: tăng trước ++$a và tăng sau $a++.

Đảo dấu

  • -$a // = -10
  • Lưu ý:
php > $a = 1;
php > echo ++$a; // thực hiện phép cộng thêm 1 vào $a và trả lại $a (mới)
2
php > $a = 1;
php > echo $a++; // trả lại giá trị của $a (cũ) trước rồi mới cộng thêm 1 vào $a
1
php > echo $a; // giờ $a mới có kết quả mới
2

Phép toán giữa số thực và số nguyên luôn cho kết quả là số thực. Ví dụ, kết quả của phép toán 1 + 1.0 thuộc kiểu double. — cũng tương tự, bao gồm giảm trước –$a và giảm sau $a–. Khác biệt là nó giảm giá trị của biến đi 1 đơn vị.

Phép toán giữa hai số thực luôn cho kết quả là số thực.

Bạn có thể so sánh các giá trị số sử dụng các phép toán so sánh như sau:phép toán so sánh như sau:

Phép toánÝ nghĩaVí dụ
< Nhỏ hơn 2 < 3 // true
-= Nhỏ hơn hoặc bằng 3
> Lớn hơn 2 > 3 // false
>= Lớn hơn hoặc bằng 3 >= 3 // true
== So sánh bằng 3 == 3 // true
!= So sánh khác 2 != 3 // true
Phép toán tăng ++ có hai dạng: tăng trước ++$a và tăng sau $a++.So sánh khác 2 != 3 // true
Phép toán tăng ++ có hai dạng: tăng trước ++$a và tăng sau $a++.2 3 // true Phép so sánh spaceship
3 <=> 2 // +1
1 <=> 1 // 0

1 2 // -13 2 // +11 1 // 0

Có thể để ý PHP có hai phép toán so sánh khác != và . Hai phép toán này không có gì khác biệt nhau.

Phép so sánh spaceship không trả lại kết quả logic true/false mà trả về kết quả số nguyên: -1 nếu vế trái nhỏ hơn; +1 nếu vế trái lớn hơn; 0 nếu hai vế bằng nhau.

Một điều lưu ý nữa là các phép so sánh bằng và khác trong PHP có thể áp dụng với hai vế thuộc hai kiểu khác nhau! Ví dụ, có thể so sánh chuỗi với số! Ngoài các phép so sánh trên trong PHP còn có các phép toán so sánh tương tự ===, !==.

Chúng ta sẽ xem xét kỹ hơn về các phép toán so sánh trong bài học về kiểu boolean.không nên trực tiếp so sánh == giữa hai số thực do biểu diễn số thực trong máy tính chỉ là gần đúng.
Để so sánh, bạn chuyển nó về số nguyên với cùng độ chính xách mong muốn rồi thực hiện phép so sánh ==.
Ví dụ, so sánh $a = 1.0102 với $b = 1.010201, bạn nên làm như sau:
$aa = (int) ($a * 10000); // lấy chính xác đến phần vạn, cho kết quả 10102
$bb = (int) ($b * 10000); // cùng lấy độ chính xác như a, cho kết quả 10102
Giờ có thể so sánh $aa và $bb, thay cho so sánh trực tiếp $a và $b.

Bạn không nên trực tiếp so sánh == giữa hai số thực do biểu diễn số thực trong máy tính chỉ là gần đúng. Để so sánh, bạn chuyển nó về số nguyên với cùng độ chính xách mong muốn rồi thực hiện phép so sánh ==.Ví dụ, so sánh $a = 1.0102 với $b = 1.010201, bạn nên làm như sau:$aa = (int) ($a * 10000); // lấy chính xác đến phần vạn, cho kết quả 10102$bb = (int) ($b * 10000); // cùng lấy độ chính xác như a, cho kết quả 10102Giờ có thể so sánh $aa và $bb, thay cho so sánh trực tiếp $a và $b.

Kết luận

  • Trong bài học này chúng ta đã xem xét chi tiết về kiểu số nguyên và kiểu số thực trong PHP.
  • Nhìn chung các kiểu số trong PHP khá tương đồng với các kiểu số trong các ngôn ngữ họ C khác.
  • Số nguyên hỗ trợ lối viết của các hệ cơ số 10, 2, 8 và 16.
  • Số thực hỗ trợ lối viết thông thường và lối viết khoa học.
  • Có thể chuyển đổi từ các kiểu dữ liệu khác (như bool và string) về kiểu số nguyên hoặc số thực qua các phép toán ép kiểu (int), (integer), (float), (double).
  • Có thể kiểm tra kiểu của biến qua các hàm is_int(), is_integer(), is_float(), is_double(), hoặc qua hàm gettype().

Các kiểu số trong PHP hỗ trợ các phép toán số học, gán, tăng giảm, so sánh.giúp đỡ site bằng một hành động nhỏ để site có thể phát triển và phục vụ bạn tốt hơn.
+ Nếu bạn thấy bài viết hữu ích, hãy giúp chia sẻ tới mọi người.
+ Nếu có thắc mắc hoặc cần trao đổi thêm, mời bạn viết trong phần thảo luận cuối trang.
Cảm ơn bạn!