Hàm round () trả về một số dấu phẩy động được làm tròn đến số thập phân được chỉ định.
Cú pháp của round()
hàm là:
vòng (số, ndigits)
round () Tham số
Các round()
chức năng có hai tham số:
- số - số được làm tròn
- ndigits (tùy chọn) - số mà số đã cho được làm tròn; mặc định là 0
Giá trị trả về từ vòng ()
- Nếu
ndigits
không được cung cấp,round()
trả về số nguyên gần nhất với số đã cho. - Nếu
ndigits
được cung cấp,round()
trả về số được làm tròn đến cácndigits
chữ số.
Ví dụ 1: Round () hoạt động như thế nào trong Python?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Đầu ra
10 11 6
Ví dụ 2: Làm tròn một số đến số chữ số thập phân đã cho
print(round(2.665, 2)) print(round(2.675, 2))
Đầu ra
2,67 2,67
Lưu ý : Hành vi của round()
phao nổi có thể gây ngạc nhiên. Thông báo round(2.675, 2)
đưa ra 2.67
thay vì mong đợi 2.68
. Đây không phải là một lỗi: đó là kết quả của thực tế là hầu hết các phân số thập phân không thể được biểu diễn chính xác dưới dạng số thực.
Khi số thập phân 2.675
được chuyển đổi thành số dấu phẩy động nhị phân, nó lại được thay thế bằng một số xấp xỉ nhị phân, có giá trị chính xác là:
2.67499999999999982236431605997495353221893310546875
Do đó, nó được làm tròn xuống 2,67.
Nếu bạn đang ở trong tình huống cần độ chính xác này, hãy xem xét sử dụng decimal
mô-đun, được thiết kế cho số học dấu phẩy động:
from decimal import Decimal # normal float num = 2.675 print(round(num, 2)) # using decimal.Decimal (passed float as string for precision) num = Decimal('2.675') print(round(num, 2))
Đầu ra
2,67 2,68