Char.IsNumber Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Indica si un carácter Unicode se clasifica como un número.
Sobrecargas
| Nombre | Description |
|---|---|
| IsNumber(Char) |
Indica si el carácter Unicode especificado se clasifica como un número. |
| IsNumber(String, Int32) |
Indica si el carácter situado en la posición especificada de una cadena especificada se clasifica como un número. |
IsNumber(Char)
Indica si el carácter Unicode especificado se clasifica 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
true es si c es un número; en caso contrario, falsees .
Ejemplos
En el ejemplo siguiente se muestra 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
Comentarios
Este método determina si es Char de una categoría Unicode numérica. Además de incluir dígitos, los números incluyen caracteres, fracciones, subíndices, superíndices, números romanos, numeradores de moneda y números rodeados. Este método contrasta con el IsDigit método , que determina si un Char es un dígito radix-10.
Importante
El IsNumber(Char) método no está pensado para determinar si una cadena consta de caracteres numéricos (por ejemplo, llamando al método para cada carácter de una cadena). Para determinar si una cadena consta de caracteres numéricos, llame a una de las sobrecargas del TryParse método (como Int32.TryParse o Double.TryParse de un tipo entero o de punto flotante.
Los números válidos son miembros de la UnicodeCategory.DecimalDigitNumbercategoría , UnicodeCategory.LetterNumbero UnicodeCategory.OtherNumber .
El IsNumber(Char) método supone que c corresponde a un único carácter 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 Egeo consta de puntos de código U+10107 a U+10133. En el ejemplo siguiente se usa el ConvertFromUtf32 método para crear una instancia de una cadena que representa EL NÚMERO UNO DE EGEO. Como se muestra en la salida del ejemplo, el IsNumber(Char) método devuelve false si se pasa un suplente alto o un suplente 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
IsNumber(String, Int32)
Indica si el carácter situado en la posición especificada de una cadena especificada se clasifica 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
true es si el carácter situado en la posición index de s es un número; en caso contrario, falsees .
Excepciones
s es null.
index es menor que cero o mayor que la última posición de s.
Ejemplos
En el ejemplo siguiente se muestra 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
Comentarios
Este método determina si es Char de una categoría Unicode numérica. Además de incluir dígitos, los números incluyen caracteres, fracciones, subíndices, superíndices, números romanos, numeradores de moneda y números rodeados. Este método contrasta con el IsDigit método , que determina si un Char es un dígito radix-10.
Las posiciones de caracteres de una cadena se indexan a partir de cero.
Importante
El IsNumber(String, Int32) método no está pensado para determinar si una cadena consta de caracteres numéricos (por ejemplo, llamando al método para cada carácter de una cadena). Para determinar si una cadena consta de caracteres numéricos, llame a una de las sobrecargas del TryParse método (como Int32.TryParse o Double.TryParse de un tipo entero o de punto flotante.
Los números válidos son miembros de la UnicodeCategory.DecimalDigitNumbercategoría , UnicodeCategory.LetterNumbero UnicodeCategory.OtherNumber .
Si el Char objeto en posición index es el primer carácter de un par suplente válido, el IsNumber(String, Int32) método determina si el par suplente forma un dígito numérico. Por ejemplo, el sistema de numeración Egeo consta de puntos de código U+10107 a U+10133. En el ejemplo siguiente se usa el ConvertFromUtf32 método para crear una instancia de una cadena que representa EL NÚMERO UNO DE EGEO. Como se muestra en la salida del ejemplo, el IsNumber(String, Int32) método devuelve true si se pasa el suplente alto de EGEO 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