Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để kiểm tra xem một chuỗi chỉ chứa các ký tự thập phân?

Có một phương thức được gọi là isdigit () trong lớp String trả về true nếu tất cả các ký tự trong chuỗi là chữ số và có ít nhất một ký tự, ngược lại là false. Bạn có thể gọi nó như sau:

>>> "12345".isdigit()
True
>>> "12345a".isdigit()
False

Nhưng điều này sẽ không thành công đối với số dấu phẩy động. Chúng ta có thể sử dụng phương pháp sau cho những con số đó:

def isfloat(value):
  try:
    float(value)
    return True
  except ValueError:
    return False
isfloat('12.345')
isfloat('12a')
This will give the output:
True
False

Bạn cũng có thể sử dụng regexes cho kết quả tương tự. Để so khớp các số thập phân, chúng ta có thể gọi re.match (regex, string) bằng cách sử dụng regex:"^ \ d +? \. \ D +? $". Ví dụ,

>>> bool(re.match("^\d+?\.\d+?$", '123abc'))
False
>>> bool(re.match("^\d+?\.\d+?$", '12.345'))
True