Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python: Cách làm tròn số đến hai chữ số thập phân

Làm thế nào để làm tròn một giá trị đến hai chữ số thập phân trong Python? Đó là một câu hỏi tuyệt vời. May mắn cho bạn, Python cung cấp một vài hàm cho phép bạn làm tròn số.

Làm tròn số đến hai chữ số thập phân rất phổ biến. Tiền tệ chỉ sử dụng hai chữ số thập phân; bạn không muốn xử lý giá trị tiền tệ với chữ số thập phân thứ ba. Cân nặng thường được biểu diễn với hai chữ số thập phân; các giá trị thêm là cho độ chính xác bổ sung không cần thiết trong hầu hết các trường hợp.

Trong hướng dẫn này, chúng ta nói về cách làm tròn số đến hai chữ số thập phân trong Python. Chúng ta đi qua hai đoạn mã để giúp bạn học cách làm tròn số trong mã của mình.

Làm tròn số sử dụng round()

Chúng ta phải viết một chương trình tính toán mỗi bạn bè trong một nhóm phải trả bao nhiêu tiền cho bữa tối. Bắt đầu bằng cách yêu cầu người dùng nhập chi phí bữa ăn và số bạn bè có mặt:

meal_cost = input("How much did your meal cost? ")
friends = input("How many friends were with you? ")

Tiếp theo, hãy tính toán mỗi bạn bè phải trả bao nhiêu cho bữa tối. Chúng ta giả định mỗi bạn bè trả số tiền bằng nhau, bất kể họ gọi gì:

cost_per_friend = float(meal_cost) / float(friends)

Chúng ta đã chuyển đổi cả "meal_cost" và "friends" thành số thực. Điều này là do phương thức input() trả về chuỗi. Bạn không thể thực hiện phép tính học trên giá trị chuỗi bằng các toán tử toán học của Python.

Bây giờ, hãy làm tròn giá trị này đến hai chữ số thập phân. Chúng ta sử dụng phương thức round(). Phương thức round() cho phép bạn làm tròn giá trị đến số nguyên gần nhất hoặc chữ số thập phân gần nhất.

Chúng ta cũng in số tiền mỗi bạn bè phải đóng góp cho bữa tối ra console:

rounded_value = round(cost_per_friend, 2)
print("Each friend must pay $" + str(rounded_value) + " for dinner.")

Chúng ta đã sử dụng hàm tích hợp round() để làm tròn giá trị "cost_per_friend" đến hai chữ số thập phân. Tiếp theo, chúng ta dùng nối chuỗi để tạo thông báo in ra console. Thông báo này cho chúng ta biết mỗi bạn bè phải trả bao nhiêu cho bữa tối.

Chạy mã để xem hàm hoạt động:

How much did your meal cost? 64.92
How many friends were with you? 6
Each friend must pay $10.82 for dinner.

Nếu chúng ta chia 64.92 cho sáu mà không làm tròn, chúng ta sẽ thấy một số với nhiều chữ số thập phân. Mã của chúng ta tính toán mỗi bạn bè phải trả $10.82 cho bữa tối bằng cách làm tròn kết quả phép chia đến hai chữ số thập phân.

Làm tròn số sử dụng định dạng chuỗi (String Formatting)

Trong ví dụ trước, chúng ta đã hiển thị số đã làm tròn trong một chuỗi. Có một cách khác để làm tròn số nếu mục đích duy nhất là hiển thị trong chuỗi. Phương pháp này chỉ được hỗ trợ trong Python 3.x.

Chúng ta sửa đổi mã để làm tròn giá trị mỗi bạn bè phải trả cho bữa tối bằng cú pháp định dạng chuỗi .format().

Chúng ta bắt đầu bằng cách tính toán mỗi bạn bè phải trả:

meal_cost = input("How much did your meal cost? ")
friends = input("How many friends were with you? ")
cost_per_friend = float(meal_cost) / float(friends)

Tiếp theo, viết câu lệnh print() thông báo số tiền mỗi bạn bè phải trả. Chúng ta sử dụng câu lệnh .format() với print(). Điều này cho phép chúng ta định dạng giá trị bên trong chuỗi:

print("Each friend must pay ${:0.2f} for dinner.".format(cost_per_friend))

Câu lệnh .format() của chúng ta sử dụng cú pháp sau để tạo biểu diễn thập phân của số được làm tròn đến hai vị trí:

{:0.2f}

Dấu hai chấm (:) báo cho mã biết chúng ta muốn định dạng một giá trị. Số 0 được dùng để làm Python nhận ra chúng ta đang xử lý một số có thể được đệm bằng số 0. .2 chỉ thị Python làm tròn số đến hai chữ số thập phân. "f" hiển thị giá trị của chúng ta dưới dạng số.

Chạy mã và xem điều gì xảy ra:

How much did your meal cost? 64.92
How many friends were with you? 6
Each friend must pay $10.82 for dinner.

Mã tính toán thành công số tiền mỗi bạn bè phải trả. Kết quả giống như đoạn mã đầu tiên. Có hai chữ số sau dấu thập phân cho thấy dữ liệu số đã được làm tròn đến hai điểm thập phân.

Phương pháp này hiệu quả hơn đoạn mã đầu tiên vì tất cả những gì chúng ta muốn là in một giá trị ra console. Trong mã này, chúng ta không dùng câu lệnh round().

Nếu chúng ta định sử dụng giá trị đã làm tròn thêm trong mã, cú pháp định dạng chuỗi sẽ không thực tế.

Kết luận

Các cách phổ biến nhất để làm tròn giá trị đến hai chữ số thập phân là:

  • Sử dụng phương thức round()
  • Sử dụng định dạng chuỗi

Phương pháp đầu tiên tốt cho mọi trường hợp bạn cần làm tròn số. Phương pháp thứ hai chỉ hoạt động nếu bạn muốn làm tròn giá trị để dùng trong chuỗi và bạn đang dùng Python 3.x.

Bây giờ bạn đã sẵn sàng làm tròn giá trị đến hai chữ số thập phân trong mã như một Python pro!