Compartilhar via


Char.IsNumber Método

Definição

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

Sobrecargas

IsNumber(String, Int32)

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

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.

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 avaliada em s.

Retornos

Boolean

true se o caractere na posição index no s for 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 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

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 romeis, numeradores de moeda e números de cerca. Esse método contrasta com o IsDigit método , que determina se um é um dígito Char radix-10.

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

Importante

O 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 IsNumber(String, Int32) em uma cadeia de caracteres). Para determinar se uma cadeia de caracteres consiste em caracteres numéricos, chame uma das sobrecargas do método (como ou de um TryParse tipo de ponto integral ou Int32.TryParse Double.TryParse flutuante.

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

Se o objeto na posição for o primeiro caractere de um par alternativo válido, o método determinará se o par alternativo Char index forma um dígito IsNumber(String, Int32) numérico. Por exemplo, o sistema de numeração Aegean consiste em pontos de código de U+10107 a U+10133. O exemplo a seguir usa o método ConvertFromUtf32 para instanciar uma cadeia de caracteres que representa AEGEAN NUMBER ONE. Como mostra a saída do exemplo, o método retornará se for passado o substituto alto IsNumber(String, Int32) true de AEGEAN NUMBER ONE. 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

IsNumber(Char)

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

Boolean

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

Exemplos

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

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 romeis, numeradores de moeda e números de cerca. Esse método contrasta com o IsDigit método , que determina se um é um dígito Char radix-10.

Importante

O 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 IsNumber(Char) em uma cadeia de caracteres). Para determinar se uma cadeia de caracteres consiste em caracteres numéricos, chame uma das sobrecargas do método (como ou de um TryParse tipo de ponto integral ou Int32.TryParse Double.TryParse flutuante.

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

O método assume que corresponde a um único caractere IsNumber(Char) c 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 substituto. Por exemplo, o sistema de numeração Aegean consiste em pontos de código de U+10107 a U+10133. O exemplo a seguir usa o método ConvertFromUtf32 para instanciar uma cadeia de caracteres que representa AEGEAN NUMBER ONE. Como mostra a saída do exemplo, o método retorna se for passado um substituto alto ou um IsNumber(Char) false 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