Char.IsNumber Método

Definição

Indica se um caractere Unicode é categorizado como um número.

Sobrecargas

Nome Description
IsNumber(Char)

Indica se o caractere Unicode especificado é categorizado como um número.

IsNumber(String, Int32)

Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como um número.

IsNumber(Char)

Origem:
Char.cs
Origem:
Char.cs
Origem:
Char.cs
Origem:
Char.cs
Origem:
Char.cs

Indica se o caractere Unicode especificado é categorizado como um número.

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

Parâmetros

c
Char

O caractere Unicode a ser avaliado.

Retornos

true se c for um número; caso contrário, false.

Exemplos

O exemplo a seguir demonstra 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

Comentários

Esse método determina se um Char é de qualquer categoria Unicode numérica. Além de incluir dígitos, os números incluem caracteres, frações, subscritos, sobrescritos, numerais romanos, numeradores de moeda e números circundados. Esse método contrasta com o IsDigit método, que determina se um é um Char dígito radix-10.

Importante

O IsNumber(Char) método não se destina a determinar se uma cadeia de caracteres consiste em caracteres numéricos (por exemplo, chamando o método para cada caractere em uma cadeia de caracteres). Para determinar se uma cadeia de caracteres consiste em caracteres numéricos, chame uma das sobrecargas do TryParse método (como Int32.TryParse ou Double.TryParse de um tipo de ponto integral ou flutuante.

Os números válidos são membros da UnicodeCategory.DecimalDigitNumbercategoria ou UnicodeCategory.LetterNumber da categoriaUnicodeCategory.OtherNumber.

O IsNumber(Char) método pressupõe que c corresponde a um único caractere linguístico e verifica se esse caractere representa um número. No entanto, alguns números no padrão Unicode são representados por dois Char objetos que formam um par alternativo. Por exemplo, o sistema de numeração Egeu consiste em pontos de código U+10107 a U+10133. O exemplo a seguir usa o ConvertFromUtf32 método para criar uma instância de uma cadeia de caracteres que representa o NÚMERO UM do AEGEAN. Como mostra a saída do exemplo, o IsNumber(Char) método retornará false se for passado por um substituto alto ou um substituto baixo desse caractere.

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

Confira também

Aplica-se a

IsNumber(String, Int32)

Origem:
Char.cs
Origem:
Char.cs
Origem:
Char.cs
Origem:
Char.cs
Origem:
Char.cs

Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como um número.

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

Parâmetros

s
String

Uma cadeia de caracteres.

index
Int32

A posição do caractere a ser avaliado em s.

Retornos

true se o caractere em posição index é s um número; caso contrário, false.

Exceções

index é menor que zero ou maior que a última posição em s.

Exemplos

O exemplo a seguir demonstra 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

Comentários

Esse método determina se um Char é de qualquer categoria Unicode numérica. Além de incluir dígitos, os números incluem caracteres, frações, subscritos, sobrescritos, numerais romanos, numeradores de moeda e números circundados. Esse método contrasta com o IsDigit método, que determina se um é um Char dígito radix-10.

As posições de caractere em uma cadeia de caracteres são indexadas a partir de zero.

Importante

O IsNumber(String, Int32) método não se destina a determinar se uma cadeia de caracteres consiste em caracteres numéricos (por exemplo, chamando o método para cada caractere em uma cadeia de caracteres). Para determinar se uma cadeia de caracteres consiste em caracteres numéricos, chame uma das sobrecargas do TryParse método (como Int32.TryParse ou Double.TryParse de um tipo de ponto integral ou flutuante.

Os números válidos são membros da UnicodeCategory.DecimalDigitNumbercategoria ou UnicodeCategory.LetterNumber da categoriaUnicodeCategory.OtherNumber.

Se o Char objeto em posição index for o primeiro caractere de um par alternativo válido, o IsNumber(String, Int32) método determinará se o par alternativo forma um dígito numérico. Por exemplo, o sistema de numeração Egeu consiste em pontos de código U+10107 a U+10133. O exemplo a seguir usa o ConvertFromUtf32 método para criar uma instância de uma cadeia de caracteres que representa o NÚMERO UM do AEGEAN. Como mostra a saída do exemplo, o IsNumber(String, Int32) método retornará true se for passado o substituto alto de NUMERAÇÃO DE EGEU NÚMERO UM. No entanto, se for passado o substituto baixo, ele considerará apenas a categoria do substituto baixo e retornará 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

Confira também

Aplica-se a