Char.IsNumber Methode

Definition

Gibt an, ob ein Unicode-Zeichen als Zahl kategorisiert wird.

Überlädt

Name Beschreibung
IsNumber(Char)

Gibt an, ob das angegebene Unicode-Zeichen als Zahl kategorisiert wird.

IsNumber(String, Int32)

Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Zahl kategorisiert wird.

IsNumber(Char)

Quelle:
Char.cs
Quelle:
Char.cs
Quelle:
Char.cs
Quelle:
Char.cs
Quelle:
Char.cs

Gibt an, ob das angegebene Unicode-Zeichen als Zahl kategorisiert wird.

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

Parameter

c
Char

Das unicode-Zeichen, das ausgewertet werden soll.

Gibt zurück

true wenn c es sich um eine Zahl handelt, falseandernfalls .

Beispiele

Das folgende Beispiel veranschaulicht 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

Hinweise

Diese Methode bestimmt, ob es sich um eine Char beliebige numerische Unicode-Kategorie handelt. Zusätzlich zum Einschließen von Ziffern umfassen Zahlen Zeichen, Brüche, Tiefstellen, Hochgestellte, römische Ziffern, Währungszähler und eingekreiste Zahlen. Diese Methode unterscheidet sich von der IsDigit Methode, die bestimmt, ob es sich Char um eine Radix-10-Ziffer handelt.

Important

Die IsNumber(Char) Methode soll nicht bestimmen, ob eine Zeichenfolge aus numerischen Zeichen besteht (z. B. durch Aufrufen der Methode für jedes Zeichen in einer Zeichenfolge). Um zu bestimmen, ob eine Zeichenfolge aus numerischen Zeichen besteht, rufen Sie eine der Überladungen der TryParse Methode auf (z Int32.TryParseDouble.TryParse . B. eines integralen oder Gleitkommatyps).

Gültige Zahlen sind Member der Kategorie , UnicodeCategory.DecimalDigitNumberoder UnicodeCategory.LetterNumber der UnicodeCategory.OtherNumberKategorie.

Die IsNumber(Char) Methode geht davon aus, dass c sie einem einzelnen sprachlichen Zeichen entspricht, und überprüft, ob dieses Zeichen eine Zahl darstellt. Einige Zahlen im Unicode-Standard werden jedoch durch zwei Char Objekte dargestellt, die ein Ersatzpaar bilden. Beispielsweise besteht das Nummerierungssystem der Ägäis aus Codepunkten U+10107 bis U+10133. Im folgenden Beispiel wird die ConvertFromUtf32 Methode verwendet, um eine Zeichenfolge zu instanziieren, die AEGEAN NUMBER ONE darstellt. Wie die Ausgabe des Beispiels zeigt, gibt die IsNumber(Char) Methode zurück false , wenn sie entweder ein hoher Ersatz oder ein niedriger Ersatz für dieses Zeichen übergeben wird.

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

Weitere Informationen

Gilt für:

IsNumber(String, Int32)

Quelle:
Char.cs
Quelle:
Char.cs
Quelle:
Char.cs
Quelle:
Char.cs
Quelle:
Char.cs

Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Zahl kategorisiert wird.

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

Parameter

s
String

Eine Zeichenfolge.

index
Int32

Die Position des Zeichens, in sdem ausgewertet werden soll.

Gibt zurück

true wenn das Zeichen an der Position index in s einer Zahl ist; andernfalls false.

Ausnahmen

s ist null.

index ist kleiner als null oder größer als die letzte Position in s.

Beispiele

Das folgende Beispiel veranschaulicht 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

Hinweise

Diese Methode bestimmt, ob es sich um eine Char beliebige numerische Unicode-Kategorie handelt. Zusätzlich zum Einschließen von Ziffern umfassen Zahlen Zeichen, Brüche, Tiefstellen, Hochgestellte, römische Ziffern, Währungszähler und eingekreiste Zahlen. Diese Methode unterscheidet sich von der IsDigit Methode, die bestimmt, ob es sich Char um eine Radix-10-Ziffer handelt.

Zeichenpositionen in einer Zeichenfolge werden beginnend mit Null indiziert.

Important

Die IsNumber(String, Int32) Methode soll nicht bestimmen, ob eine Zeichenfolge aus numerischen Zeichen besteht (z. B. durch Aufrufen der Methode für jedes Zeichen in einer Zeichenfolge). Um zu bestimmen, ob eine Zeichenfolge aus numerischen Zeichen besteht, rufen Sie eine der Überladungen der TryParse Methode auf (z Int32.TryParseDouble.TryParse . B. eines integralen oder Gleitkommatyps).

Gültige Zahlen sind Member der Kategorie , UnicodeCategory.DecimalDigitNumberoder UnicodeCategory.LetterNumber der UnicodeCategory.OtherNumberKategorie.

Wenn das Char Objekt an der Position index das erste Zeichen eines gültigen Ersatzpaars ist, bestimmt die IsNumber(String, Int32) Methode, ob das Ersatzpaar eine numerische Ziffer bildet. Beispielsweise besteht das Nummerierungssystem der Ägäis aus Codepunkten U+10107 bis U+10133. Im folgenden Beispiel wird die ConvertFromUtf32 Methode verwendet, um eine Zeichenfolge zu instanziieren, die AEGEAN NUMBER ONE darstellt. Wie die Ausgabe aus dem Beispiel zeigt, gibt die IsNumber(String, Int32) Methode zurück true , wenn sie das hohe Surrogate von AEGEAN NUMBER ONE übergeben wird. Wenn es jedoch an den niedrigen Ersatz übergeben wird, berücksichtigt es nur die Kategorie des niedrigen Ersatzes und gibt zurück 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

Weitere Informationen

Gilt für: