Mặc dù float và gấp đôi cả hai đều được sử dụng để gán các giá trị thực [hoặc thập phân] trong lập trình, có một sự khác biệt lớn giữa hai loại dữ liệu này.
8 năm trước
9 năm trước
Inforsci tại gmail dot com
LNUM [0-9]+[_[0-9]+]* DNUM [[0-9]*[_[0-9]+]*[\.]{LNUM}] | [{LNUM}[\.][0-9]*[_[0-9]+]*] EXPONENT_DNUM [[{LNUM} | {DNUM}] [eE][+-]? {LNUM}]
Kjohnson tại Zootweb Dot Com ¶
14 năm trước
m dot lebkowski+php tại gmail dot com ¶
Dev tại Duy trì Dot Com ¶
19 năm trước
Vì vậy, không bao giờ tin tưởng kết quả số nổi vào chữ số cuối cùng và không so sánh số điểm nổi trực tiếp cho sự bình đẳng. Nếu độ chính xác cao hơn là cần thiết, các hàm toán học chính xác tùy ý và các hàm GMP có sẵn.
Để biết lời giải thích "đơn giản", hãy xem hướng dẫn điểm nổi »& nbsp; có tiêu đề" Tại sao don don số của tôi cộng lại? "
Chuyển đổi thành Float
Từ chuỗi
Nếu chuỗi là số hoặc số dẫn thì nó sẽ giải quyết thành giá trị float tương ứng, nếu không nó được chuyển đổi thành 0 [0
].
Từ các loại khác
Đối với các giá trị của các loại khác, chuyển đổi được thực hiện bằng cách chuyển đổi giá trị thành int trước và sau đó để nổi. Xem Chuyển đổi sang số nguyên để biết thêm thông tin.int first and then to float. See Converting to integer for more information.
Ghi chú::
Vì một số loại có hành vi không xác định khi chuyển đổi sang INT, đây cũng là trường hợp khi chuyển đổi thành float.int, this is also the case when converting to float.
So sánh phao
Như đã lưu ý trong cảnh báo ở trên, thử nghiệm các giá trị điểm nổi cho sự bình đẳng là có vấn đề, do cách chúng được thể hiện trong nội bộ. Tuy nhiên, có nhiều cách để so sánh các giá trị điểm nổi hoạt động xung quanh những hạn chế này.
Để kiểm tra các giá trị điểm nổi cho sự bình đẳng, giới hạn trên trên lỗi tương đối do làm tròn được sử dụng. Giá trị này được gọi là Epsilon máy, hoặc vòng tròn đơn vị, và là sự khác biệt nhỏ nhất có thể chấp nhận được trong các tính toán.
$ a và $ b bằng 5 chữ số của độ chính xác.
0
1Nan
Một số hoạt động số có thể dẫn đến một giá trị được biểu thị bởi hằng số
2. Kết quả này đại diện cho một giá trị không xác định hoặc không thể hiện được trong các tính toán dấu phẩy động. Bất kỳ so sánh lỏng lẻo hoặc nghiêm ngặt của giá trị này so với bất kỳ giá trị nào khác, bao gồm cả chính nó, nhưng ngoại trừ
3, sẽ có kết quả là
4.
2. This result
represents an undefined or unrepresentable value in floating-point calculations. Any loose or strict comparisons of this value against any other value, including itself, but except
3, will have a result of
4.
Bởi vì
2 đại diện cho bất kỳ số lượng giá trị khác nhau nào, không nên so sánh với các giá trị khác với các giá trị khác, và thay vào đó nên được kiểm tra sử dụng is_nan [].
2 represents any number of different values,
2 should not be compared to other values, including itself, and instead should be checked for using
is_nan[].
catalin dot lungraru tại gmail dot com ¶ ¶
8 năm trước
7
8
9
0.1
0
0.1
1Feline tại Nospam Dot Penguin Dot irp ¶
18 năm trước
0.1
2
www.sarioz.com ¶ ¶
19 năm trước
0.1
3
0.1
4
0.1
1Yobberowich tại Gmail Dot Com ¶ ¶
5 năm trước
0.1
6
0.1
7
0.1
8
0.1
1Backov tại Spotbrokers-Nospamplz Dot Com ¶ ¶
19 năm trước
0.7
0
0.7
1
0.7
2
0.7
3
0.7
4
0.7
5
0.7
6
0.1
1Yobberowich tại Gmail Dot Com ¶ ¶
19 năm trước
0.7
8
0.7
9
floor[[0.1+0.7]*10]
0
floor[[0.1+0.7]*10]
1
floor[[0.1+0.7]*10]
2
0.1
1Yobberowich tại Gmail Dot Com ¶ ¶
5 năm trước
floor[[0.1+0.7]*10]
4
floor[[0.1+0.7]*10]
5
floor[[0.1+0.7]*10]
6
0.1
1Backov tại Spotbrokers-Nospamplz Dot Com ¶ ¶
James Dot Cridland tại Virginradio Dot Co Dot Uk ¶
floor[[0.1+0.7]*10]
8
floor[[0.1+0.7]*10]
9
7
0
7
1lwiwala tại gmail dot com ¶ ¶
JRF_PHP DOT NET AT NO_SPAM DOT Adviesenzo dot nl ¶
7
2
7
3
7
4
7
5
7
6
7
7
7
8
7
9
0.1
14 năm trước ¶
Luzian ¶
8
1
8
2
8
3
8
4
8
5
8
6
8
7
8
816 năm trước ¶
MagicalTux tại php dot net ¶
8
9
7.9999999999999991118...
0
7.9999999999999991118...
1
0.1
112 năm trước ¶
Zelko tại Mojeime Dot Com ¶
7.9999999999999991118...
3
7.9999999999999991118...
4
7.9999999999999991118...
5
7.9999999999999991118...
6
7.9999999999999991118...
7
7.9999999999999991118...
8
7.9999999999999991118...
9
0.1
111 năm trước ¶
rick tại ninjafoo dot com
0
1
0
2
0.1
117 năm trước ¶
Luzian ¶
0
4
0
5
0.1
116 năm trước ¶
8 năm trước
0
7
0
8
0
9
00
17 năm trước ¶
MagicalTux tại php dot net ¶
01
02
0.1
112 năm trước ¶
Zelko tại Mojeime Dot Com ¶
04
11 năm trước ¶
Luzian ¶
05
06
0716 năm trước ¶
MagicalTux tại php dot net ¶
08
09
10
0.1
112 năm trước ¶
MagicalTux tại php dot net ¶
12
13
0.1
112 năm trước ¶
19 năm trước
15
Yobberowich tại Gmail Dot Com ¶ ¶
5 năm trước
16
Backov tại Spotbrokers-Nospamplz Dot Com ¶ ¶
James Dot Cridland tại Virginradio Dot Co Dot Uk ¶
17
18
19
0.1
1lwiwala tại gmail dot com ¶ ¶
JRF_PHP DOT NET AT NO_SPAM DOT Adviesenzo dot nl ¶
21
22
23
24
25
26
27
0.1
14 năm trước ¶
James Dot Cridland tại Virginradio Dot Co Dot Uk ¶
29
30
31lwiwala tại gmail dot com ¶ ¶
MagicalTux tại php dot net ¶
32
33
34
35
36
37
38
0.1
112 năm trước ¶
5 năm trước
40
41
42
43
0.1
116 năm trước ¶
Luzian ¶
45
46
47
0.1
116 năm trước ¶
5 năm trước
49
50
51
52Backov tại Spotbrokers-Nospamplz Dot Com ¶ ¶
13 năm trước
53
54
55
56Bob ¶ ¶
13 năm trước
57
Munteanutraian tại Gmail Dot Com ¶ ¶
4 năm trước
58
59
60
61
62
63
0.1
1Helly tại php dot net ¶ ¶
15 năm trước
65
66
0.1
1Reinaldorock tại Yahoo dot com dot br ¶ ¶
11 năm trước
68
69
0.1
1Robson Cozendey ¶ ¶
1 năm trước
71
72
73
74
0.1
1