Char.IsNumber Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
s é null.
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