Char.IsNumber Método

Definição

Indica se um carácter Unicode está categorizado como um número.

Sobrecargas

Name Description
IsNumber(Char)

Indica se o carácter Unicode especificado está categorizado como um número.

IsNumber(String, Int32)

Indica se o carácter na posição especificada numa cadeia específica é 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 carácter Unicode especificado está 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 carácter Unicode a avaliar.

Devoluções

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

Exemplos

O exemplo abaixo 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

Observações

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

Importante

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

Números válidos são membros da UnicodeCategory.DecimalDigitNumber, UnicodeCategory.LetterNumber, ou UnicodeCategory.OtherNumber categoria.

O IsNumber(Char) método assume que c corresponde a um único carácter linguístico e verifica se esse carácter representa um número. No entanto, alguns números no padrão Unicode são representados por dois Char objetos que formam um par substituto. Por exemplo, o sistema de numeração do Egeu consiste nos pontos de código U+10107 a U+10133. O exemplo seguinte utiliza o ConvertFromUtf32 método para instanciar uma cadeia que representa o EGEU NÚMERO UM. Como mostra a saída do exemplo, o IsNumber(Char) método devolve false se lhe for passado um substituto alto ou baixo substituto deste carácter.

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

Ver 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 carácter na posição especificada numa cadeia específica é 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 carácter a avaliar em s.

Devoluções

true se o carácter na posição index de s for um número; caso contrário, false.

Exceções

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

Exemplos

O exemplo abaixo 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

Observações

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

As posições dos caracteres numa cadeia são indexadas a partir de zero.

Importante

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

Números válidos são membros da UnicodeCategory.DecimalDigitNumber, UnicodeCategory.LetterNumber, ou UnicodeCategory.OtherNumber categoria.

Se o Char objeto na posição index for o primeiro carácter de um par substituto válido, o IsNumber(String, Int32) método determina se o par substituto forma um dígito numérico. Por exemplo, o sistema de numeração do Egeu consiste nos pontos de código U+10107 a U+10133. O exemplo seguinte utiliza o ConvertFromUtf32 método para instanciar uma cadeia que representa o EGEU NÚMERO UM. Como mostra a saída do exemplo, o IsNumber(String, Int32) método devolve true se for ultrapassado o substituto alto do EGEU NÚMERO UM. No entanto, se lhe for passado o substituto baixo, considera apenas a categoria do substituto baixo e retorna 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

Ver também

Aplica-se a