Condividi tramite


Char.IsNumber Metodo

Definizione

Indica se un carattere Unicode è stato categorizzato come numero.

Overload

IsNumber(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato categorizzato come numero.

IsNumber(Char)

Indica se il carattere Unicode specificato è stato categorizzato come numero.

IsNumber(String, Int32)

Indica se il carattere in corrispondenza della posizione specificata in una determinata stringa è stato 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

Stringa.

index
Int32

Posizione del carattere da valutare in s.

Restituisce

Boolean

true se il carattere alla posizione index in s è un numero; in caso contrario, false.

Eccezioni

index è minore di zero o maggiore dell'ultima posizione in s.

Esempio

Nell'esempio seguente viene illustrato 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

Commenti

Questo metodo determina se un Char è di qualsiasi categoria Unicode numerica. Oltre a includere cifre, i numeri includono caratteri, frazioni, pedici, apici, numeri romani, numeratori di valuta e numeri accerchiati. Questo metodo è in contrasto con il metodo , che determina se un oggetto è IsDigit Char una cifra di 10 radianti.

Le posizioni dei caratteri in una stringa vengono indicizzate a partire da zero.

Importante

Il metodo non ha lo scopo di determinare se una stringa è costituita da caratteri numerici, ad esempio chiamando il metodo IsNumber(String, Int32) per ogni carattere di una stringa. Per determinare se una stringa è costituita da caratteri numerici, chiamare uno degli overload del metodo , ad esempio o di un TryParse Int32.TryParse tipo Double.TryParse integrale o a virgola mobile.

I numeri validi sono membri della UnicodeCategory.DecimalDigitNumber UnicodeCategory.LetterNumber categoria , o UnicodeCategory.OtherNumber .

Se l'oggetto nella posizione è il primo carattere di una coppia di surrogati valida, il metodo determina se la coppia Char index di IsNumber(String, Int32) surrogati forma una cifra numerica. Ad esempio, il sistema di numerazione Egea è costituito da punti di codice da U+10107 a U+10133. Nell'esempio seguente viene ConvertFromUtf32 utilizzato il metodo per creare un'istanza di una stringa che rappresenta AEGEAN NUMBER ONE. Come illustrato nell'output dell'esempio, il metodo restituisce se viene passato il surrogato alto IsNumber(String, Int32) true di AEGEAN NUMBER ONE. 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

Vedi anche

Si applica a

IsNumber(Char)

Indica se il carattere Unicode specificato è stato 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.

Restituisce

Boolean

true se c è un numero; in caso contrario, false.

Esempio

Nell'esempio seguente viene illustrato 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

Commenti

Questo metodo determina se un Char è di qualsiasi categoria Unicode numerica. Oltre a includere cifre, i numeri includono caratteri, frazioni, pedici, apici, numerali romani, numeratori di valuta e numeri accerchiati. Questo metodo è in contrasto con il metodo , che determina se un oggetto è IsDigit una cifra di base Char 10.

Importante

Il metodo non ha lo scopo di determinare se una stringa è costituita da caratteri numerici, ad esempio chiamando il metodo IsNumber(Char) per ogni carattere di una stringa. Per determinare se una stringa è costituita da caratteri numerici, chiamare uno degli overload del metodo , ad esempio o di un tipo integrale o TryParse Int32.TryParse a Double.TryParse virgola mobile.

I numeri validi sono membri UnicodeCategory.DecimalDigitNumber della categoria , o UnicodeCategory.LetterNumber UnicodeCategory.OtherNumber .

Il IsNumber(Char) metodo presuppone che corrisponda a un singolo carattere c 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 Egeo è costituito da punti di codice da U+10107 a U+10133. Nell'esempio seguente viene utilizzato ConvertFromUtf32 il metodo per creare un'istanza di una stringa che rappresenta AEGEAN NUMBER ONE. Come illustrato nell'output dell'esempio, il metodo restituisce se viene passato un surrogato alto o un IsNumber(Char) false 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