Char.IsNumber Méthode

Définition

Indique si un caractère Unicode est classé comme un nombre.

Surcharges

Nom Description
IsNumber(Char)

Indique si le caractère Unicode spécifié est classé comme un nombre.

IsNumber(String, Int32)

Indique si le caractère à la position spécifiée dans une chaîne spécifiée est classé comme un nombre.

IsNumber(Char)

Source:
Char.cs
Source:
Char.cs
Source:
Char.cs
Source:
Char.cs
Source:
Char.cs

Indique si le caractère Unicode spécifié est classé comme un nombre.

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

true s’il c s’agit d’un nombre ; sinon, false.

Exemples

L’exemple suivant illustre IsNumber.

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 s’il s’agit d’une Char catégorie Unicode numérique. En plus d’inclure des chiffres, les nombres incluent des caractères, des fractions, des indices, des exposants, des chiffres romains, des numérateurs monétaires et des nombres encerclés. Cette méthode contraste avec la IsDigit méthode, qui détermine si une Char valeur est un chiffre radix-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 d’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 (par Int32.TryParseDouble.TryParse exemple, d’un type intégral ou à virgule flottante).

Les nombres valides sont des membres de la ou UnicodeCategory.DecimalDigitNumberUnicodeCategory.LetterNumber de la UnicodeCategory.OtherNumbercatégorie.

La IsNumber(Char) méthode suppose que cela 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 égée se compose de points de code U+10107 à U+10133. L’exemple suivant utilise la ConvertFromUtf32 méthode pour instancier une chaîne qui représente L’ÉGÉE NUMÉRO UN. Comme le montre la sortie de l’exemple, la IsNumber(Char) méthode retourne false si elle est passée soit une substitution élevée, soit une substitution 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 à

IsNumber(String, Int32)

Source:
Char.cs
Source:
Char.cs
Source:
Char.cs
Source:
Char.cs
Source:
Char.cs

Indique si le caractère à la position spécifiée dans une chaîne spécifiée est classé comme un nombre.

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

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

Exceptions

s a la valeur null.

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

Exemples

L’exemple suivant illustre IsNumber.

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 s’il s’agit d’une Char catégorie Unicode numérique. En plus d’inclure des chiffres, les nombres incluent des caractères, des fractions, des indices, des exposants, des chiffres romains, des numérateurs monétaires et des nombres encerclés. Cette méthode contraste avec la IsDigit méthode, qui détermine si une Char valeur est un chiffre radix-10.

Les positions de caractères 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 d’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 (par Int32.TryParseDouble.TryParse exemple, d’un type intégral ou à virgule flottante).

Les nombres valides sont des membres de la ou UnicodeCategory.DecimalDigitNumberUnicodeCategory.LetterNumber de la UnicodeCategory.OtherNumbercatégorie.

Si l’objet Char à 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 numérique. Par exemple, le système de numérotation égée se compose de points de code U+10107 à U+10133. L’exemple suivant utilise la ConvertFromUtf32 méthode pour instancier une chaîne qui représente L’ÉGÉE NUMÉRO UN. Comme le montre la sortie de l’exemple, la IsNumber(String, Int32) méthode retourne true s’il est passé le substitut élevé de l’ÉGÉE NUMÉRO 1. Toutefois, s’il est passé le substitut faible, 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 à