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

Programme Kotlin pour vérifier si une chaîne est un nombre

Collection complète d'exemples Kotlin

Dans ce programme, vous apprendrez différentes techniques pour vérifier si une chaîne est un nombre en Kotlin.

Exemple1:检查字符串是否为数字

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 est un nombre")
    else
        println("$string n'est pas un nombre")
}

Lors de l'exécution de ce programme, la sortie est :

12345s15 Ce n'est pas un nombre

Dans le programme ci-dessus, nous avons une chaîne string qui contient la chaîne à vérifier. Nous avons également une valeur booléenne numeric pour stocker le résultat final s'il s'agit d'un nombre.
Pour vérifier si string ne contient que des nombres, nous utilisons la méthode parseDouble() de Double dans un bloc try.

Si une erreur est lancée (c'est-à-dire une erreur NumberFormatException), cela signifie que string n'est pas un nombre et numeric est mis à false. Sinon, c'est un nombre.

Mais, si vous devez vérifier le nombre de chaînes, vous devez les modifier en fonction. Et, la logique est basée sur le lancement d'exceptions, ce qui peut être très coûteux.

En revanche, nous pouvons utiliser les fonctionnalités des expressions régulières pour vérifier si une chaîne est un nombre, comme suit.

Exemple2:使用正则表达式(regex)检查字符串是否为数字

fun main(args: Array<String>) {
    val string = "-1234.15"
    var numeric = true
    numeric = string.matches("-?\\d+(\..\d+)?".toRegex())
    if (numeric)
        println("$string est un nombre")
    else
        println("$string n'est pas un nombre")
}

Lors de l'exécution de ce programme, la sortie est :

-1234.15 C'est un nombre

Dans le programme ci-dessus, nous utilisons regex pour vérifier si la chaîne est un nombre, au lieu d'utiliser try-C'est ce qui est accompli avec la méthode matches() de String.

Dans le bloc catch.

  • -? Permet zéro ou plus grand-un nombre négatif dans la chaîne.

  • \d+ Vérifiez que la chaîne doit au moins contenir1ou plusieurs nombres (\d).

  • (\..\d+)? Permet un ou plusieurs motifs donnés (\..\d+) où

    • \..Vérifiez si la chaîne contient un point (point décimal)

    • Si c'est le cas, il devrait au moins suivre un ou plusieurs nombres \d+。

Voici le code Java équivalent :Programme Java pour vérifier si une chaîne est un nombre

Collection complète d'exemples Kotlin