Char.IsNumber Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Indica se un carattere Unicode è categorizzato come numero.
Overload
| Nome | Descrizione |
|---|---|
| IsNumber(Char) |
Indica se il carattere Unicode specificato è categorizzato come numero. |
| IsNumber(String, Int32) |
Indica se il carattere in corrispondenza della posizione specificata in una stringa specificata è categorizzato come numero. |
IsNumber(Char)
- Origine:
- Char.cs
- Origine:
- Char.cs
- Origine:
- Char.cs
- Origine:
- Char.cs
- Origine:
- Char.cs
Indica se il carattere Unicode specificato è categorizzato come numero.
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
Parametri
- c
- Char
Carattere Unicode da valutare.
Valori restituiti
true se c è un numero; in caso contrario, false.
Esempio
Nell'esempio seguente viene illustrato 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
Commenti
Questo metodo determina se un oggetto Char è di una categoria Unicode numerica. Oltre a includere cifre, i numeri includono caratteri, frazioni, pedice, apice, numerali romani, numeratori di valuta e numeri circoscritti. Questo metodo è in contrasto con il IsDigit metodo , che determina se è Char una cifra radix-10.
Importante
Il IsNumber(Char) metodo non è progettato per determinare se una stringa è costituita da caratteri numerici, ad esempio chiamando il metodo per ogni carattere in una stringa. Per determinare se una stringa è costituita da caratteri numerici, chiamare uno degli overload del TryParse metodo , ad esempio Int32.TryParse o Double.TryParse di un tipo integrale o a virgola mobile.
I numeri validi sono membri della UnicodeCategory.DecimalDigitNumbercategoria , UnicodeCategory.LetterNumbero UnicodeCategory.OtherNumber .
Il IsNumber(Char) metodo presuppone che c corrisponda a un singolo carattere linguistico e controlla se tale carattere rappresenta un numero. Tuttavia, alcuni numeri nello standard Unicode sono rappresentati da due Char oggetti che formano una coppia di surrogati. Ad esempio, il sistema di numerazione dell'Egeo è costituito da punti di codice da U+10107 a U+10133. Nell'esempio seguente viene utilizzato il ConvertFromUtf32 metodo per creare un'istanza di una stringa che rappresenta IL NUMERO 1 DELL'ORDINE DELL'ORDINE DELL'AVORIO. Come illustrato nell'output dell'esempio, il IsNumber(Char) metodo restituisce false se viene passato un surrogato elevato o un surrogato basso di questo carattere.
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
Vedi anche
Si applica a
IsNumber(String, Int32)
- Origine:
- Char.cs
- Origine:
- Char.cs
- Origine:
- Char.cs
- Origine:
- Char.cs
- Origine:
- Char.cs
Indica se il carattere in corrispondenza della posizione specificata in una stringa specificata è categorizzato come numero.
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
Parametri
- s
- String
Una stringa.
- index
- Int32
Posizione del carattere da valutare in s.
Valori restituiti
true se il carattere in corrispondenza della posizione index in s è un numero; in caso contrario, false.
Eccezioni
s è null.
index è minore di zero o maggiore dell'ultima posizione in s.
Esempio
Nell'esempio seguente viene illustrato 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
Commenti
Questo metodo determina se un oggetto Char è di una categoria Unicode numerica. Oltre a includere cifre, i numeri includono caratteri, frazioni, pedice, apice, numerali romani, numeratori di valuta e numeri circoscritti. Questo metodo è in contrasto con il IsDigit metodo , che determina se è Char una cifra radix-10.
Le posizioni dei caratteri in una stringa vengono indicizzate a partire da zero.
Importante
Il IsNumber(String, Int32) metodo non è progettato per determinare se una stringa è costituita da caratteri numerici, ad esempio chiamando il metodo per ogni carattere in una stringa. Per determinare se una stringa è costituita da caratteri numerici, chiamare uno degli overload del TryParse metodo , ad esempio Int32.TryParse o Double.TryParse di un tipo integrale o a virgola mobile.
I numeri validi sono membri della UnicodeCategory.DecimalDigitNumbercategoria , UnicodeCategory.LetterNumbero UnicodeCategory.OtherNumber .
Se l'oggetto in corrispondenza della Char posizione index è il primo carattere di una coppia di surrogati valida, il IsNumber(String, Int32) metodo determina se la coppia di surrogati forma una cifra numerica. Ad esempio, il sistema di numerazione dell'Egeo è costituito da punti di codice da U+10107 a U+10133. Nell'esempio seguente viene utilizzato il ConvertFromUtf32 metodo per creare un'istanza di una stringa che rappresenta IL NUMERO 1 DELL'ORDINE DELL'ORDINE DELL'AVORIO. Come illustrato nell'output dell'esempio, il IsNumber(String, Int32) metodo restituisce true se viene passato il surrogato elevato del NUMERO 1 DELL'ORDINE DELL'UTERO. Tuttavia, se viene passato il surrogato basso, considera solo la categoria del surrogato basso e restituisce 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