Write a Kotlin Program to Check if a String is Numeric

In Kotlin, there are different ways to check if a given string is a numeric value.

Here we will discuss some of the most common and straightforward methods.

Method 1: Using try-catch block

One simple way to check if a string is numeric is by converting it to a Double or Int using the built-in Kotlin functions and catch any NumberFormatException that might be thrown.

If an exception is thrown, it means the string is not a numeric value.

fun isNumeric(s: String): Boolean {
return try {
s.toDouble()
true
} catch (e: NumberFormatException) {
false
}
}

Method 2: Using regular expression

Another way to check if a string is numeric is by using regular expressions.

A regular expression is a pattern that matches a specific set of characters.

In this case, we can use a regular expression that matches only numeric values.

fun isNumeric(s: String): Boolean {
val regex = "\d+".toRegex()
return regex.matches(s)
}

Method 3: Using Apache Commons Lang

The Apache Commons Lang library provides a utility class called NumberUtils, which has a method isNumber that can be used to check if a string is numeric.

import org.apache.commons.lang3.math.NumberUtils

fun isNumeric(s: String): Boolean {
return NumberUtils.isNumber(s)
}

Conclusion

In this article, we have discussed three different methods to check if a string is numeric in Kotlin.

Each method has its own advantages and disadvantages, and the choice of which one to use depends on the specific requirements of the project.

Whether you prefer using try-catch blocks, regular expressions, or a third-party library like Apache Commons Lang, these methods are all simple and efficient ways to check if a string is numeric.