Partager via


Char.IsNumber Méthode

Définition

Indique si un caractère Unicode est classé dans la catégorie des nombres.

Surcharges

IsNumber(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des nombres.

IsNumber(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des nombres.

IsNumber(String, Int32)

Indique si le caractère figurant à la position spécifiée dans une chaîne spécifiée est classé dans la catégorie des nombres.

public:
 static bool IsNumber(System::String ^ s, int index);
public static bool IsNumber (string s, int index);
static member IsNumber : string * int -> bool
Public Shared Function IsNumber (s As String, index As Integer) As Boolean

Paramètres

s
String

Chaîne.

index
Int32

Position du caractère à évaluer dans s.

Retours

Boolean

true si le caractère situé à la position index dans s est un nombre ; sinon, false.

Exceptions

s a la valeur null.

index est inférieur à zéro ou supérieur à la dernière position dans s.

Exemples

L’exemple suivant illustre IsNumber .

using namespace System;
int main()
{
   String^ str =  "non-numeric";
   Console::WriteLine( Char::IsNumber( '8' ) ); // Output: "True"
   Console::WriteLine( Char::IsNumber( str, 3 ) ); // Output: "False"
}
using System;

public class IsNumberSample {
    public static void Main() {
        string str = "non-numeric";

        Console.WriteLine(Char.IsNumber('8'));		// Output: "True"
        Console.WriteLine(Char.IsNumber(str, 3));	// Output: "False"
    }
}
open System

let str = "non-numeric"

printfn $"{Char.IsNumber '8'}"      // Output: "True"
printfn $"{Char.IsNumber(str, 3)}"  // Output: "False"
Module IsNumberSample
    Sub Main()
        Dim str As String
        str = "non-numeric"

        Console.WriteLine(Char.IsNumber("8"c))      ' Output: "True"
        Console.WriteLine(Char.IsNumber(str, 3))    ' Output: "False"
    End Sub
End Module

Remarques

Cette méthode détermine si un Char est d’une catégorie Unicode numérique. Outre l’inclusion de chiffres, les chiffres incluent les caractères, les fractions, les indices, les exposants, les chiffres romains, les numérateurs de devise et les nombres entourés. Cette méthode contraste avec la IsDigit méthode, qui détermine si un Char est un chiffre de base-10.

Les positions de caractère dans une chaîne sont indexées à partir de zéro.

Important

La IsNumber(String, Int32) méthode n’est pas destinée à déterminer si une chaîne se compose de caractères numériques (par exemple, en appelant la méthode pour chaque caractère dans une chaîne). Pour déterminer si une chaîne se compose de caractères numériques, appelez l’une des surcharges de la TryParse méthode (telle que Int32.TryParse ou Double.TryParse d’un type à virgule flottante ou intégrale).

Les nombres valides sont les membres de la UnicodeCategory.DecimalDigitNumber UnicodeCategory.LetterNumber catégorie, ou UnicodeCategory.OtherNumber .

Si l' Char objet à la position index est le premier caractère d’une paire de substitution valide, la IsNumber(String, Int32) méthode détermine si la paire de substitution forme un chiffre. Par exemple, le système de numérotation des mer contient des points de code U + 10107 à U + 10133. L’exemple suivant utilise la ConvertFromUtf32 méthode pour instancier une chaîne qui représente le numéro d’une mer. Comme le montre la sortie de l’exemple, la IsNumber(String, Int32) méthode retourne true si le substitut étendu de la mer du numéro 1 est passé. Toutefois, si le substitut faible est passé, il considère uniquement la catégorie du substitut faible et retourne false .

int utf32 = 0x10107;      // AEGEAN NUMBER ONE
string surrogate = Char.ConvertFromUtf32(utf32);
for (int ctr = 0; ctr < surrogate.Length; ctr++)
   Console.WriteLine("U+{0:X4} at position {1}: {2}",
                     Convert.ToUInt16(surrogate[ctr]), ctr,
                     Char.IsNumber(surrogate, ctr));
// The example displays the following output:
//       U+D800 at position 0: True
//       U+DD07 at position 1: False
let utf32 = 0x10107      // AEGEAN NUMBER ONE
let surrogate = Char.ConvertFromUtf32 utf32
for i = 0 to surrogate.Length - 1 do
    printfn $"U+{Convert.ToUInt16 surrogate[i]:X4} at position {i}: {Char.IsNumber(surrogate, i)}"
                    
// The example displays the following output:
//       U+D800 at position 0: True
//       U+DD07 at position 1: False
Dim utf32 As Integer = &h10107      ' AEGEAN NUMBER ONE
Dim surrogate As String = Char.ConvertFromUtf32(utf32)
For ctr As Integer = 0 To surrogate.Length - 1
   Console.WriteLine("U+{0:X4} at position {1}: {2}", 
                     Convert.ToUInt16(surrogate(ctr)), ctr,  
                     Char.IsNumber(surrogate, ctr))
Next
' The example displays the following output:
'       U+D800 at position 0: True
'       U+DD07 at position 1: False

Voir aussi

S’applique à

IsNumber(Char)

Indique si le caractère Unicode spécifié est classé dans la catégorie des nombres.

public:
 static bool IsNumber(char c);
public static bool IsNumber (char c);
static member IsNumber : char -> bool
Public Shared Function IsNumber (c As Char) As Boolean

Paramètres

c
Char

Caractère Unicode à évaluer.

Retours

Boolean

true si c est un nombre ; sinon, false.

Exemples

L’exemple suivant illustre IsNumber .

using namespace System;
int main()
{
   String^ str =  "non-numeric";
   Console::WriteLine( Char::IsNumber( '8' ) ); // Output: "True"
   Console::WriteLine( Char::IsNumber( str, 3 ) ); // Output: "False"
}
using System;

public class IsNumberSample {
    public static void Main() {
        string str = "non-numeric";

        Console.WriteLine(Char.IsNumber('8'));		// Output: "True"
        Console.WriteLine(Char.IsNumber(str, 3));	// Output: "False"
    }
}
open System

let str = "non-numeric"

printfn $"{Char.IsNumber '8'}"      // Output: "True"
printfn $"{Char.IsNumber(str, 3)}"  // Output: "False"
Module IsNumberSample
    Sub Main()
        Dim str As String
        str = "non-numeric"

        Console.WriteLine(Char.IsNumber("8"c))      ' Output: "True"
        Console.WriteLine(Char.IsNumber(str, 3))    ' Output: "False"
    End Sub
End Module

Remarques

Cette méthode détermine si un Char est d’une catégorie Unicode numérique. Outre l’inclusion de chiffres, les chiffres incluent les caractères, les fractions, les indices, les exposants, les chiffres romains, les numérateurs de devise et les nombres entourés. Cette méthode contraste avec la IsDigit méthode, qui détermine si un Char est un chiffre de base-10.

Important

La IsNumber(Char) méthode n’est pas destinée à déterminer si une chaîne se compose de caractères numériques (par exemple, en appelant la méthode pour chaque caractère dans une chaîne). Pour déterminer si une chaîne se compose de caractères numériques, appelez l’une des surcharges de la TryParse méthode (telle que Int32.TryParse ou Double.TryParse d’un type à virgule flottante ou intégrale).

Les nombres valides sont les membres de la UnicodeCategory.DecimalDigitNumber UnicodeCategory.LetterNumber catégorie, ou UnicodeCategory.OtherNumber .

La IsNumber(Char) méthode suppose que c correspond à un caractère linguistique unique et vérifie si ce caractère représente un nombre. Toutefois, certains nombres dans la norme Unicode sont représentés par deux Char objets qui forment une paire de substitution. Par exemple, le système de numérotation des mer contient des points de code U + 10107 à U + 10133. L’exemple suivant utilise la ConvertFromUtf32 méthode pour instancier une chaîne qui représente le numéro d’une mer. Comme le montre la sortie de l’exemple, la IsNumber(Char) méthode retourne la valeur false si elle reçoit un substitut étendu ou un substitut faible de ce caractère.

int utf32 = 0x10107;      // AEGEAN NUMBER ONE
string surrogate = Char.ConvertFromUtf32(utf32);
foreach (var ch in surrogate)
   Console.WriteLine("U+{0:X4}: {1}", Convert.ToUInt16(ch),
                                    Char.IsNumber(ch));

// The example displays the following output:
//       U+D800: False
//       U+DD07: False
let utf32 = 0x10107      // AEGEAN NUMBER ONE
let surrogate = Char.ConvertFromUtf32 utf32
for ch in surrogate do
    printfn $"U+{Convert.ToUInt16 ch:X4}: {Char.IsNumber ch}"

// The example displays the following output:
//       U+D800: False
//       U+DD07: False
Dim utf32 As Integer = &h10107      ' AEGEAN NUMBER ONE
Dim surrogate As String = Char.ConvertFromUtf32(utf32)
For Each ch In surrogate
   Console.WriteLine("U+{0:X4}: {1}", Convert.ToUInt16(ch), 
                                    Char.IsNumber(ch))
Next
' The example displays the following output:
'       U+D800: False
'       U+DD07: False

Voir aussi

S’applique à