Làm tròn số có nghĩa là làm cho số đơn giản hơn bằng cách giữ nguyên giá trị của nó nhưng gần số tiếp theo hơn. Dưới đây là những điểm sau đây sẽ đề cập trong bài viết này bằng Python
- sử dụng Chức năng round[] tích hợp
- sử dụng khái niệm Cắt ngắn
- sử dụng Toán học. trần[] và Toán. chức năng sàn []
- sử dụng toán học. trần nhà
- sử dụng toán học. tầng lầu
- sử dụng khái niệm Rounding Bias
- Làm tròn một nửa từ số 0 trong Python
Thí dụ
Input: 3.5 Output: 4 Explanation: Nearest whole number. Input: 3.74 Output: 3.7 Explanation: Rounded to one decimal place.
Làm tròn số trong Python bằng Hàm round[] tích hợp
Trong Python, có một hàm round[] tích hợp giúp làm tròn một số thành số chữ số đã cho. Hàm round[] chấp nhận hai đối số là n và n chữ số, sau đó trả về số n sau khi làm tròn nó thành n chữ số. Nếu số chữ số không được cung cấp để làm tròn, hàm sẽ làm tròn số n đã cho thành số nguyên gần nhất.
trăn3
# For integers
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.471_______1_______2
11 23 4.46 4.48 4.471_______1_______4
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.476
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.471
11 23 4.46 4.48 4.472
11 23 4.46 4.48 4.471_______12_______1
16.0 -3.8 3.81 340.0 -2000.02
16.0 -3.8 3.81 340.0 -2000.03
16.0 -3.8 3.81 340.0 -2000.04
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.471
11 23 4.46 4.48 4.472
11 23 4.46 4.48 4.471_______12_______9
5 0 2 -10
5 0 2 -11
11 23 4.46 4.48 4.475
5 0 2 -13
5 0 2 -14
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.471
11 23 4.46 4.48 4.472
11 23 4.46 4.48 4.471_______21_______9
5 0 2 -10
5 0 2 -11
3.0 2.3 2.55 30.0 2400.02
5 0 2 -13
3.0 2.3 2.55 30.0 2400.04
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.471
11 23 4.46 4.48 4.472
11 23 4.46 4.48 4.471_______33_______9
5 0 2 -10
5 0 2 -11
11 23 4.46 4.48 4.475
đầu ra.
11 23 4.46 4.48 4.47
Làm tròn số trong Python sử dụng khái niệm Truncation
Trong hàm này, mỗi chữ số sau một vị trí nhất định được thay thế bằng 0. hàm truncate[] của python có thể được sử dụng với số dương cũng như số âm. Chức năng cắt ngắn có thể được thực hiện theo cách sau
- Nhân số với 10^p [10 được nâng lên lũy thừa p] để dịch chuyển dấu thập phân p vị trí sang phải
- Lấy phần nguyên của số mới đó bằng int[]
- Dịch chuyển vị trí thập phân p về bên trái bằng cách chia cho 10^p
trăn3
2.0 2.4 -1.03
2.0 2.4 -1.04
2.0 2.4 -1.05
2.0 2.4 -1.06
2.0 2.4 -1.07
2.0 2.4 -1.08
2.0 2.4 -1.09
1.3 -1.0 -1.230
1.3 -1.0 -1.231
1.3 -1.0 -1.232
1.3 -1.0 -1.233
2.0 2.4 -1.09
1.3 -1.0 -1.235
1.3 -1.0 -1.236
1.3 -1.0 -1.236
1.3 -1.0 -1.238
1.3 -1.0 -1.232
2.0 -3.0 2.20
2.0 -3.0 2.21
2.0 -3.0 2.22
1.3 -1.0 -1.236
2.0 -3.0 2.24
2.0 -3.0 2.25
1.3 -1.0 -1.233
11 23 4.46 4.48 4.470
2.0 -3.0 2.28
2.0 -3.0 2.29
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
2.0 -3.0 2.28
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.684
5 0 2 -10
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.686
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
2.0 -3.0 2.28
# For integers
05 0 2 -10
5 0 2 -11
11 23 4.46 4.48 4.475
# For integers
4
# For integers
5
11 23 4.46 4.48 4.470
2.0 -3.0 2.28
# For integers
85 0 2 -10
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.686
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
2.0 -3.0 2.28
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
11 23 4.46 4.48 4.4706
5 0 2 -10
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
11 23 4.46 4.48 4.4709
11 23 4.46 4.48 4.475
đầu ra.
16.0 -3.8 3.81 340.0 -2000.0
Làm tròn số trong Python sử dụng Math. trần[] và Toán. chức năng sàn []
Toán học. trần nhà[]. Hàm này trả về số nguyên gần nhất lớn hơn hoặc bằng một số đã cho.
Toán học. tầng lầu[]. Hàm này trả về số nguyên gần nhất nhỏ hơn hoặc bằng một số đã cho.
trăn3
11 23 4.46 4.48 4.4711
11 23 4.46 4.48 4.4712
11 23 4.46 4.48 4.4713
11 23 4.46 4.48 4.4714
11 23 4.46 4.48 4.4715
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.4717
11 23 4.46 4.48 4.4718
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.4720
11 23 4.46 4.48 4.4715
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.4717
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
11 23 4.46 4.48 4.4725
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.4727
11 23 4.46 4.48 4.4728
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.4730
11 23 4.46 4.48 4.4731
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.4730
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
11 23 4.46 4.48 4.4725
11 23 4.46 4.48 4.475
đầu ra.
5 0 2 -1
Làm tròn số trong Python sử dụng toán học. trần nhà
Trong Làm tròn số, một số được làm tròn đến một số chữ số đã chỉ định. Chức năng làm tròn có thể được thực hiện theo cách sau.
- Đầu tiên, dấu thập phân trong n được chuyển sang đúng số vị trí bên phải bằng cách nhân n với 10 ** số thập phân
- Giá trị mới được làm tròn lên đến số nguyên gần nhất bằng toán học. trần nhà[]
- Cuối cùng, dấu thập phân được chuyển về bên trái bằng cách chia cho 10 ** số thập phân
trăn3
11 23 4.46 4.48 4.4711
11 23 4.46 4.48 4.4712
11 23 4.46 4.48 4.4713
11 23 4.46 4.48 4.4741
11 23 4.46 4.48 4.4742
2.0 2.4 -1.07
11 23 4.46 4.48 4.4744_______45_______9
1.3 -1.0 -1.230
1.3 -1.0 -1.231
1.3 -1.0 -1.232
1.3 -1.0 -1.233
2.0 2.4 -1.09
1.3 -1.0 -1.235
1.3 -1.0 -1.236
1.3 -1.0 -1.236
1.3 -1.0 -1.238
1.3 -1.0 -1.232
2.0 -3.0 2.20
11 23 4.46 4.48 4.4757_______52_______6
2.0 -3.0 2.24
2.0 -3.0 2.25
1.3 -1.0 -1.233
11 23 4.46 4.48 4.4762
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.4764
11 23 4.46 4.48 4.4765
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.4764
11 23 4.46 4.48 4.4769
5 0 2 -10
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.686
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.4764
11 23 4.46 4.48 4.4775
5 0 2 -10
5 0 2 -11
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.4779
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.4764
11 23 4.46 4.48 4.4782
5 0 2 -10
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.686
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
11 23 4.46 4.48 4.4764
11 23 4.46 4.48 4.4789
5 0 2 -10
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
5 0 2 -11
11 23 4.46 4.48 4.475
đầu ra.
3.0 2.3 2.55 30.0 2400.0
Chúng ta có thể theo sơ đồ dưới đây để hiểu làm tròn lên và làm tròn xuống. Vòng lên bên phải và xuống bên trái.
Làm tròn lên luôn làm tròn một số ở bên phải trên dòng số và làm tròn xuống luôn làm tròn một số ở bên trái trên dòng số.
Làm tròn số trong Python sử dụng toán học. tầng lầu
Trong Làm tròn xuống, một số được làm tròn xuống một số chữ số đã chỉ định. Chức năng làm tròn xuống có thể được thực hiện theo cách sau.
- Đầu tiên, dấu thập phân trong n được chuyển sang đúng số vị trí bên phải bằng cách nhân n với 10 ** số thập phân
- Giá trị mới được làm tròn lên đến số nguyên gần nhất bằng toán học. tầng lầu[]
- Cuối cùng, dấu thập phân được chuyển về bên trái bằng cách chia cho 10 ** số thập phân
trăn3
11 23 4.46 4.48 4.4712
11 23 4.46 4.48 4.4713
11 23 4.46 4.48 4.4796
11 23 4.46 4.48 4.4797
2.0 2.4 -1.07
11 23 4.46 4.48 4.4799
2.0 2.4 -1.09
1.3 -1.0 -1.230
1.3 -1.0 -1.231
1.3 -1.0 -1.232
1.3 -1.0 -1.233
2.0 2.4 -1.09
1.3 -1.0 -1.235
1.3 -1.0 -1.236
1.3 -1.0 -1.236
1.3 -1.0 -1.238
1.3 -1.0 -1.232
2.0 -3.0 2.20
16.0 -3.8 3.81 340.0 -2000.012_______52_______6
2.0 -3.0 2.24
2.0 -3.0 2.25
1.3 -1.0 -1.233
16.0 -3.8 3.81 340.0 -2000.017
11 23 4.46 4.48 4.470
16.0 -3.8 3.81 340.0 -2000.019
16.0 -3.8 3.81 340.0 -2000.020
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
16.0 -3.8 3.81 340.0 -2000.019
16.0 -3.8 3.81 340.0 -2000.024
5 0 2 -10
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.686
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
16.0 -3.8 3.81 340.0 -2000.019
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
11 23 4.46 4.48 4.4725
11 23 4.46 4.48 4.475
đầu ra.
2.0 2.4 -1.0
Làm tròn số trong Python sử dụng khái niệm Rounding Bias
Khái niệm đối xứng đưa ra khái niệm về độ lệch làm tròn, mô tả cách làm tròn ảnh hưởng đến dữ liệu số trong tập dữ liệu.
Chiến lược làm tròn có một vòng hướng tới độ lệch vô cực dương, vì giá trị luôn được làm tròn theo hướng vô cực dương. Tương tự, chiến lược làm tròn xuống có một vòng hướng tới độ lệch vô cực âm. Chiến lược cắt ngắn có một vòng hướng tới độ lệch vô cực âm đối với các giá trị dương và một vòng hướng tới vô cực dương đối với các giá trị âm. Nói chung, các hàm làm tròn với hành vi này được cho là có độ lệch làm tròn về 0.
a] Khái niệm Rounding Half Up trong Python
Nửa vòng làm tròn mỗi số đến số gần nhất với độ chính xác được chỉ định và phá vỡ các mối quan hệ bằng cách làm tròn lên.
Chiến lược làm tròn nửa số được thực hiện bằng cách dịch chuyển dấu thập phân sang phải theo số vị trí mong muốn. Trong trường hợp này, chúng ta sẽ phải xác định xem chữ số sau dấu thập phân đã dịch chuyển có nhỏ hơn hoặc lớn hơn 5 hay không.
Chúng ta có thể thêm 0. 5 thành giá trị được dịch chuyển và sau đó làm tròn nó xuống bằng phép toán. hàm sàn [].
Triển khai hàm round_half_up[].
trăn3
11 23 4.46 4.48 4.4712
11 23 4.46 4.48 4.4713
16.0 -3.8 3.81 340.0 -2000.035
2.0 2.4 -1.07
16.0 -3.8 3.81 340.0 -2000.037
2.0 2.4 -1.09
1.3 -1.0 -1.230
1.3 -1.0 -1.231
1.3 -1.0 -1.232
1.3 -1.0 -1.233
2.0 2.4 -1.09
1.3 -1.0 -1.235
1.3 -1.0 -1.236
1.3 -1.0 -1.236
1.3 -1.0 -1.238
1.3 -1.0 -1.232
2.0 -3.0 2.20
16.0 -3.8 3.81 340.0 -2000.012_______52_______6
1.3 -1.0 -1.233
16.0 -3.8 3.81 340.0 -2000.053
11 23 4.46 4.48 4.4725
16.0 -3.8 3.81 340.0 -2000.055
2.0 -3.0 2.25
1.3 -1.0 -1.233
16.0 -3.8 3.81 340.0 -2000.058
11 23 4.46 4.48 4.470
16.0 -3.8 3.81 340.0 -2000.060
16.0 -3.8 3.81 340.0 -2000.061
5 0 2 -10
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.686
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
16.0 -3.8 3.81 340.0 -2000.060
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
16.0 -3.8 3.81 340.0 -2000.068
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
16.0 -3.8 3.81 340.0 -2000.060
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
16.0 -3.8 3.81 340.0 -2000.073
5 0 2 -10
5 0 2 -11
11 23 4.46 4.48 4.475
đầu ra.
1.3 -1.0 -1.23
b] Khái niệm Rounding Half Down trong Python
Phương pháp này làm tròn đến số gần nhất tương tự như phương pháp làm tròn nửa số, điểm khác biệt là nó phá vỡ các mối quan hệ bằng cách làm tròn đến số nhỏ hơn trong hai số. Chiến lược làm tròn một nửa xuống được thực hiện bằng cách thay toán. floor[] trong hàm round_half_up[] với toán học. ceil[] và sau đó bằng cách trừ 0. 5 thay vì thêm.
Triển khai hàm round_half_down[].
trăn3
11 23 4.46 4.48 4.4711
11 23 4.46 4.48 4.4712
11 23 4.46 4.48 4.4713
16.0 -3.8 3.81 340.0 -2000.080
16.0 -3.8 3.81 340.0 -2000.081
2.0 2.4 -1.07
16.0 -3.8 3.81 340.0 -2000.083
2.0 2.4 -1.09
1.3 -1.0 -1.230
1.3 -1.0 -1.231
1.3 -1.0 -1.232
1.3 -1.0 -1.233
2.0 2.4 -1.09
1.3 -1.0 -1.235
1.3 -1.0 -1.236
1.3 -1.0 -1.236
1.3 -1.0 -1.238
1.3 -1.0 -1.232
2.0 -3.0 2.20
11 23 4.46 4.48 4.4757_______52_______6
1.3 -1.0 -1.233
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
11 23 4.46 4.48 4.4725
16.0 -3.8 3.81 340.0 -2000.055_______62_______5
1.3 -1.0 -1.233
16.0 -3.8 3.81 340.0 -2000.058
11 23 4.46 4.48 4.470
5 0 2 -106
16.0 -3.8 3.81 340.0 -2000.020
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
5 0 2 -106
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.683
16.0 -3.8 3.81 340.0 -2000.020
11 23 4.46 4.48 4.475
11 23 4.46 4.48 4.470
5 0 2 -106
5 0 2 -116
5 0 2 -10
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.686
11 23 4.46 4.48 4.475
đầu ra.
2.0 -3.0 2.2
Làm tròn một nửa từ số 0 trong Python
Trong Rounding Half Away From Zero chúng ta cần làm là bắt đầu như bình thường bằng cách chuyển dấu thập phân sang phải một số vị trí cho trước rồi để ý chữ số [d] ngay bên phải chữ số thập phân ở số mới. Có bốn trường hợp cần xem xét