Chương trình Kotlin để kiểm tra xem một chuỗi có phải là số không

Trong chương trình này, bạn sẽ học các kỹ thuật khác nhau để kiểm tra xem một chuỗi có phải là số hay không trong Kotlin.

Ví dụ 1: Kiểm tra xem một chuỗi có phải là số không

 import java.lang.Double.parseDouble fun main(args: Array) ( val string = "12345s15" var numeric = true try ( val num = parseDouble(string) ) catch (e: NumberFormatException) ( numeric = false ) if (numeric) println("$string is a number") else println("$string is not a number") )

Khi bạn chạy chương trình, đầu ra sẽ là:

 12345s15 không phải là một con số

Trong chương trình trên, chúng ta có một Stringchuỗi được đặt tên chứa chuỗi được kiểm tra. Chúng tôi cũng có một số giá trị boolean lưu trữ nếu kết quả cuối cùng là số hay không.

Để kiểm tra xem chuỗi chỉ chứa số hay không, trong khối try, chúng tôi sử dụng phương thức Doublecủa 's parseDouble()để chuyển chuỗi thành a Double.

Nếu nó xuất hiện một lỗi (tức là NumberFormatExceptionlỗi), điều đó có nghĩa là chuỗi không phải là số và số được đặt thành false. Khác, đó là một con số.

Tuy nhiên, nếu bạn muốn kiểm tra xem, đối với một số chuỗi, bạn có cần phải thay đổi nó thành một hàm hay không. Và, logic dựa trên việc ném ra các ngoại lệ, điều này có thể khá tốn kém.

Thay vào đó, chúng ta có thể sử dụng sức mạnh của biểu thức chính quy để kiểm tra xem chuỗi có phải là số hay không như hình dưới đây.

Ví dụ 2: Kiểm tra xem một chuỗi có phải là số hay không sử dụng biểu thức chính quy (regex)

 fun main(args: Array) ( val string = "-1234.15" var numeric = true numeric = string.matches("-?\d+(\.\d+)?".toRegex()) if (numeric) println("$string is a number") else println("$string is not a number") )

Khi bạn chạy chương trình, đầu ra sẽ là:

 -1234.15 là một số

Trong chương trình trên, thay vì sử dụng khối try-catch, chúng ta sử dụng regex để kiểm tra xem chuỗi có phải là số hay không. Điều này được thực hiện bằng cách sử dụng matches()phương thức của String .

Trong matches()phương pháp,

  • -?cho phép không hoặc nhiều hơn -đối với các số âm trong chuỗi.
  • \d+kiểm tra chuỗi phải có ít nhất 1 hoặc nhiều số ( \d).
  • (\.\d+)?cho phép không hoặc nhiều mẫu nhất định (\.\d+)trong đó
    • \.kiểm tra xem chuỗi có chứa .(dấu thập phân) hay không
    • Nếu có, nó phải được theo sau bởi ít nhất một hoặc nhiều số \d+.

Đây là mã Java tương đương: Chương trình Java để kiểm tra xem một chuỗi có phải là số hay không.

thú vị bài viết...