Kiểm tra chuỗi có phải là số hay không trong python | Laptrinhcanban.com

Kiểm tra chuỗi có phải là số hay không trong python

Hướng dẫn kiểm tra chuỗi có phải là số hay không trong python. Bạn sẽ học được cách kiểm tra chuỗi có phải là số hay không trong python bằng các phương thức có sẵn như isdecimal, isdigit, isnumeric trong bài viết này.

Python đã tích hợp sẵn một số phương thức giúp bạn kiểm tra chuỗi có phải là số hay không như sau:

Kiểm tra xem tất cả ký tự trong chuỗi là số thập phân hay không (phương thức isdecimal )

Chúng ta sử dụng phương thức isdecimal để kiểm tra xem tất cả ký tự trong chuỗi là số thập phân hay không với cú pháp sau đây:

str.isdecimal()

nếu như tất cả ký tự trong chuỗi là số thập phân, thì kết quả True sẽ được trả về.

Cách sử dụng thực tiễn giống như ví dụ sau:

print("75120".isdecimal())
#>> True

print("75F2".isdecimal())
#>> False

Bạn cũng có thể sử dụng phương thức isdecimal với cả các ký tự 2 byte như tiếng Nhật zenkaku:

print("0982".isdecimal())
#>> True

print("75a0".isdecimal())
#>> False

nếu trong chuỗi ký tự có chứa dấu phẩy ,, dấu chấm . hay dấu gạch ngang -, kết quả trả về sẽ là False.

print("-8052".isdecimal())
#>> False

print("3.14".isdecimal())
#>> False

print("7,524".isdecimal())
#>> False

nếu chuỗi ký tự là một ký tự trống, kết quả False cũng sẽ được trả về:

print("".isdecimal())
#>> False

Kiểm tra xem tất cả ký tự trong chuỗi là chữ số hay không (phương thức isdigit)

Chúng ta sử dụng phương thức isdigit để kiểm tra xem tất cả ký tự trong chuỗi là chữ số hay không với cú pháp sau đây:

str.isdigit()

nếu như tất cả ký tự trong chuỗi là chữ số , thì kết quả True sẽ được trả về. nếu như dù chỉ có một ký tự không phải là chữ số, thì False sẽ được trả về.

Cách sử dụng thực tiễn giống như ví dụ sau:

print("85120".isdigit())
#>> True

print("75F2".isdigit())
#>> False

nếu trong chuỗi ký tự có chứa dấu phẩy ,, dấu chấm . hay dấu gạch ngang -, kết quả trả về sẽ là False.

print("-8052".isdigit())
#>> False

print("3.14".isdigit())
#>> False

print("7,524".isdigit())
#>> False

Bạn cũng có thể sử dụng phương thức isdigit với cả các ký tự chữ số 2 byte như tiếng Nhật zenkaku:

print("0982".isdigit())
#>> True

print("75a0".isdigit())
#>> False

nếu chuỗi ký tự là một ký tự trống, kết quả False sẽ được trả về:

print("".isdigit())
#>> False

Lưu ý, theo như website chính thức của python thì chữ số được định nghĩa là ký tự ở dạng Numeric_Type=Digit hoặc Numeric_Type=Decimal, do đó cần chú ý là ký tự được coi là chữ số trong phương thức isdigit sẽ rộng hơn và bao gồm cả số trong phương thức isdecimal.

Do đó, bạn cũng có thể sử dụng phương thức isdigit với các ký tự chữ số trong nhóm Numeric_Type=Digit như là ①,②,③, trong khi phương thức isdecimal không làm được điều này.

print("⑤⑥⑦".isdecimal())
#>> False

print("⑤⑥⑦".isdigit())
#>> True

Kiểm tra xem tất cả ký tự trong chuỗi là số hay không (phương thức isnumeric )

Chúng ta sử dụng phương thức isnumeric để kiểm tra xem tất cả ký tự trong chuỗi là số hay không với cú pháp sau đây:

str.isnumeric()

nếu như tất cả ký tự trong chuỗi là số, thì kết quả True sẽ được trả về.

Cách sử dụng thực tiễn giống như ví dụ sau:

print("9852".isnumeric())
#>> True

print("87E2".isnumeric())
#>> False

nếu trong chuỗi ký tự có chứa dấu phẩy ,, dấu chấm . hay dấu gạch ngang -, cũng giống như hai phương thức ở trên thì phương thức isnumeric cũng trả kết quả là False.

print("-8052".isnumeric())
#>> False

print("3.14".isnumeric())
#>> False

print("7,524".isnumeric())
#>> False

Bạn cũng có thể sử dụng phương thức isnumeric với cả các ký tự 2 byte như tiếng Nhật zenkaku:

print("0982".isnumeric())
#>> True

print("75a0".isnumeric())
#>> False

nếu chuỗi ký tự là một ký tự trống, kết quả False cũng sẽ được trả về:

print("".isnumeric())
#>> False

Lưu ý, theo như website chính thức của python thì số được định nghĩa là ký tự ở dạng Numeric_Type=Digit hoặc Numeric_Type=Decimal hoặc Numeric_Type=Numeric, do đó cần chú ý là ký tự được coi là chữ số trong phương thức isnumeric sẽ rộng hơn và bao gồm cả số thập phân lẫn chữ số trong phương thức isdigit lẫn phương thức isdecimal.

Có nghĩa là, phương thức isnumeric cũng có thể sử dụng với các ký tự chữ số trong nhóm Numeric_Type=Digit như là ①,②,③ tương tự như phương thức isdigit.

print("⑤⑥⑦".isnumeric())
#>> True

print("⑤⑥⑦".isdigit())
#>> True

Ngoài ra, bạn cũng có thể sử dụng phương thức isnumeric với các ký tự chữ số trong nhóm Numeric_Type=Numeric như là số được biểu diễn bởi hán tự trong tiếng Nhật hoặc tiếng Trung, trong khi phương thức isdigit không làm được điều này.

# số viết bởi hán tự tiếng Nhật
print("七五三".isdigit())
#>> False

print("七五三".isnumeric())
#>> True

# số viết bởi hán tự tiếng Trung
print("拾伍".isdigit())
#>> False

print("拾伍".isnumeric())
#>> True

Sự khác biệt giữa str.isdigit, isnumeric và isdecimal trong python

Qua những phân tích ở trên, bạn đã thấy được sự khác biệt giữa ba phương thức này chưa nào? Hãy cùng tổng hợp lại chúng ở dưới đây nhé.
Trước hết về quan hệ khả năng xử lý dạng dữ liệu giữa ba phương thức này sẽ như sau:
Sự khác biệt giữa str.isdecimal, isdigit và isnumeric

Chúng ta có thể thấy về khả năng xử lý dạng dữ liệu thì isnumeric > isdigit > isdecimal.

Tiếp theo hãy so sánh khác biệt giữa str.isdecimal, isdigit và isnumeric bằng bảng dưới đây:

phương thứcisdecimalisdigitisnumeric
dạng dữ liệusố thập phânsố thập phân
hoặc Digit
số thập phân
hoặc Digit
hoặc Numeric
ví dụ“12345”
“12”
“98201”
“12345”
“1233”
“3”
“12345”
“½¼”
“½”
“12345½”
“3”

“七五三”
“拾伍”
kết quả“true” nếu tất cả ký tự là số thập phân“true” nếu tất cả ký tự là số thập phân hoặc Digit“true” nếu tất cả ký tự là số thập phân, Digit hoặc Numeric
xem thêmisdecimalisdigitisnumeric

Tổng kết và thực hành

Trên đây Kiyoshi đã hướng dẫn bạn cách kiểm tra chuỗi có phải là số hay không trong python với các phương thức isdecimal, isdigit, isnumeric rồi.
nếu bạn muốn kiểm tra chuỗi có phải là chữ hay không trong python, hãy tham khảo bài viết hướng dẫn kiểm tra chuỗi có phải là chữ hay không trong python nhé.

Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.