Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Chuyển đổi float sang int trong Python
Trong Python, số thực (float) và số nguyên (int) là hai kiểu dữ liệu quan trọng được sử dụng rộng rãi. Đôi khi, bạn cần chuyển đổi giữa hai kiểu dữ liệu này, đặc biệt là từ số thực sang số nguyên. Quá trình này thường gây ra mất mát dữ liệu do phần thập phân bị loại bỏ. Bài viết này sẽ giới thiệu cho bạn cách chuyển đổi số thực sang số nguyên bằng cách sử dụng các hàm khác nhau trong module math
của Python, như cắt bỏ phần thập phân (truncation), làm tròn xuống (floor) và làm tròn lên (ceiling). Qua đó, bạn sẽ hiểu rõ hơn về cách thức hoạt động của các phương pháp này và ứng dụng của chúng trong các tình huống khác nhau.
Chuyển đổi số thực (float) sang số nguyên (int) trong Python
Trong bài viết này, bạn sẽ học cách chuyển đổi số thực sang số nguyên trong Python.
Giả sử bạn có một số thực như 20.3 và bạn muốn chuyển nó thành số nguyên. Khi chuyển đổi từ số thực sang số nguyên, bạn sẽ mất đi phần dữ liệu sau dấu thập phân. Ví dụ, 20.3 có thể trở thành 20 hoặc 21.
Python cung cấp một số hàm trong module math
để chuyển đổi từ số thực sang số nguyên, bao gồm:
Bài viết này được đăng tại [free tuts .net]
- Cắt bỏ phần thập phân (Truncation)
- Làm tròn xuống (Floor)
- Làm tròn lên (Ceiling)
Cắt bỏ phần thập phân (Truncation)
Hàm trunc(x)
trả về phần nguyên của số x, bỏ qua tất cả các phần sau dấu thập phân. Ví dụ:
from math import trunc print(trunc(12.2)) print(trunc(12.5)) print(trunc(12.7))
Kết quả:
12 12 12
Tương tự, hàm int()
cũng nhận vào một số thực và sử dụng phương pháp cắt bỏ phần thập phân để chuyển đổi số thực sang số nguyên:
print(int(12.2)) print(int(12.5)) print(int(12.7))
Làm tròn xuống (Floor)
Hàm floor(x)
trả về số nguyên lớn nhất nhỏ hơn hoặc bằng x. Ví dụ:
from math import floor print(floor(12.2)) print(floor(12.5)) print(floor(12.7))
Kết quả:
12 12 12
Đối với các số dương, floor(x)
và trunc(x)
trả về cùng một kết quả.
Tuy nhiên, đối với các số âm, kết quả có thể khác nhau. Ví dụ:
from math import floor, trunc print(floor(-12.7)) print(trunc(-12.7))
Kết quả:
-13 -12
Làm tròn lên (Ceiling)
Hàm ceil(x)
trả về số nguyên nhỏ nhất lớn hơn hoặc bằng x. Ví dụ:
from math import ceil print(ceil(12.7))
Kết quả:
13
Ví dụ này sử dụng hàm ceil()
cho các số âm:
from math import ceil print(ceil(-12.7))
Kết quả:
-12
Kết bài
Chuyển đổi một số thực sang số nguyên luôn dẫn đến mất dữ liệu phần thập phân. Để thực hiện chuyển đổi này trong Python, bạn có thể sử dụng một số hàm có sẵn trong module math
như trunc()
, floor()
, và ceil()
. Hàm trunc()
trả về phần nguyên của một số, loại bỏ hoàn toàn phần thập phân. Hàm floor()
trả về số nguyên lớn nhất nhỏ hơn hoặc bằng một số, hữu ích khi bạn cần làm tròn xuống. Ngược lại, hàm ceil()
trả về số nguyên nhỏ nhất lớn hơn hoặc bằng một số, hữu ích khi bạn cần làm tròn lên. Bằng cách hiểu rõ cách hoạt động của từng hàm này, bạn có thể lựa chọn phương pháp phù hợp nhất cho từng tình huống cụ thể trong quá trình lập trình.