English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Programa Kotlin para verificar se uma string é um número

大全 de Exemplos de Kotlin

Neste programa, você aprenderá diferentes técnicas para verificar se uma string é um número em Kotlin.

Exemplo1:Verificar se uma string é um número

import java.lang.Double.parseDouble
fun main(args: Array<String>) {
    val string = "12345s15"
    var numeric = true
    try {
        val num = parseDouble(string)
    } catch (e: NumberFormatException) {
        numeric = false
    }
    if (numeric)
        println("$string é um número")
    else
        println("$string não é um número")
}

Quando você executar o programa, a saída será:

12345s15 Não é um número

No programa acima, temos uma string chamada string que contém a string a ser verificada. Também temos um valor booleano numeric para armazenar o resultado final se for um número.
Para verificar se a string contém apenas números, usamos o método parseDouble() da classe Double no bloco try.

Se lançar um erro (isto é, um erro NumberFormatException), significa que a string não é um número e configura numeric como false. Caso contrário, é um número.

Mas, se precisar verificar um número específico de strings, é necessário convertê-lo em função. E a lógica é baseada em lançar exceções, o que pode ser muito caro.

Por outro lado, podemos usar as funcionalidades das expressões regulares para verificar se uma string é um número, conforme mostrado a seguir.

Exemplo2:Verificar se uma string é um número usando expressões regulares (regex)

fun main(args: Array<String>) {
    val string = "-1234.15"
    var numeric = true
    numeric = string.matches("-?\\d+(\\.\\d+)?".toRegex())
    if (numeric)
        println("$string é um número")
    else
        println("$string não é um número")
}

Quando você executar o programa, a saída será:

-1234.15 É um número

No programa acima, usamos regex para verificar se a string é um número, em vez de usar try-catch. Isso é feito usando o método matches() da String.

No bloco catch. Isso é feito usando o método matches() da String.

  • -? Permite zero ou maior-O número negativo na string.

  • \\d+ Verificar se a string deve pelo menos conter1ou mais números (\\d)。

  • (\\.\\d+)? Permite zero ou mais padrões dados (\\.\\d+),onde

    • \\.. Verificar se a string contém \\。(ponto decimal)

    • Se for o caso, deve pelo menos seguir um ou mais números \\d+。

Este é o código Java equivalente:Programa Java para Verificar se uma String é um Número

大全 de Exemplos de Kotlin