Char.IsNumber Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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
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