Char.IsNumber Método

Definición

Indica si un carácter Unicode se clasifica por categorías como un número.

Sobrecargas

IsNumber(String, Int32)

Indica si el carácter que ocupa la posición especificada en una cadena especificada se clasifica por categorías como un número.

IsNumber(Char)

Indica si el carácter Unicode especificado se clasifica por categorías como un número.

IsNumber(String, Int32)

Indica si el carácter que ocupa la posición especificada en una cadena especificada se clasifica por categorías como un 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

Una cadena.

index
Int32

Posición del carácter que se va a evaluar en s.

Devoluciones

Boolean

true si el carácter que ocupa la posición index en s es un número; en caso contrario, false.

Excepciones

index es menor que cero o mayor que la última posición en s.

Ejemplos

En el ejemplo siguiente se muestra 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

Comentarios

Este método determina si es Char de cualquier categoría Unicode numérica. Además de incluir dígitos, los números incluyen caracteres, fracciones, subíndices, superíndices, números román, numeradores de moneda y números rodeados. Este método contrasta con el IsDigit método , que determina si es un dígito Char radix-10.

Las posiciones de caracteres de una cadena se indexa a partir de cero.

Importante

El método no está pensado para determinar si una cadena consta de caracteres numéricos (por ejemplo, llamando al método para cada IsNumber(String, Int32) carácter de una cadena). Para determinar si una cadena consta de caracteres numéricos, llame a una de las sobrecargas del método (por ejemplo, o de un tipo entero o TryParse Int32.TryParse de punto Double.TryParse flotante).

Los números válidos son miembros de UnicodeCategory.DecimalDigitNumber la categoría , o UnicodeCategory.LetterNumber UnicodeCategory.OtherNumber .

Si el objeto en posición es el primer carácter de un par suplente válido, el método determina si el par suplente Char index forma un dígito IsNumber(String, Int32) numérico. Por ejemplo, el sistema de numeración A ctrl consta de puntos de código U+10107 a U+10133. En el ejemplo siguiente se usa ConvertFromUtf32 el método para crear una instancia de una cadena que representa A ESTADÍTO NÚMERO UNO. Como se muestra en la salida del ejemplo, el método devuelve si se pasa el suplente alto IsNumber(String, Int32) true de A ESTANTO NÚMERO UNO. Sin embargo, si se pasa el suplente bajo, solo tiene en cuenta la categoría del suplente bajo y devuelve 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

Consulte también

Se aplica a

IsNumber(Char)

Indica si el carácter Unicode especificado se clasifica por categorías como un 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

Carácter Unicode que se va a evaluar.

Devoluciones

Boolean

true si c es un número; en caso contrario, false.

Ejemplos

En el ejemplo siguiente se muestra 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

Comentarios

Este método determina si es Char de cualquier categoría Unicode numérica. Además de incluir dígitos, los números incluyen caracteres, fracciones, subíndices, superíndices, números román, numeradores de moneda y números rodeados. Este método contrasta con el IsDigit método , que determina si es un dígito Char radix-10.

Importante

El método no está pensado para determinar si una cadena consta de caracteres numéricos (por ejemplo, llamando al método para cada IsNumber(Char) carácter de una cadena). Para determinar si una cadena consta de caracteres numéricos, llame a una de las sobrecargas del método (por ejemplo, o de un tipo entero o TryParse Int32.TryParse de punto Double.TryParse flotante).

Los números válidos son miembros de UnicodeCategory.DecimalDigitNumber la categoría , o UnicodeCategory.LetterNumber UnicodeCategory.OtherNumber .

El método supone que corresponde a un único carácter IsNumber(Char) c lingüístico y comprueba si ese carácter representa un número. Sin embargo, algunos números del estándar Unicode se representan mediante dos Char objetos que forman un par suplente. Por ejemplo, el sistema de numeración A ctrl consta de puntos de código U+10107 a U+10133. En el ejemplo siguiente se usa ConvertFromUtf32 el método para crear una instancia de una cadena que representa A ESTADÍTO NÚMERO UNO. Como se muestra en la salida del ejemplo, el método devuelve si se pasa un suplente alto o un suplente IsNumber(Char) false bajo de este 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

Consulte también

Se aplica a