Freigeben über


Char.IsNumber Methode

Definition

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

Überlädt

IsNumber(String, Int32)

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

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.

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 in s auszuwertenden Zeichens.

Gibt zurück

Boolean

true, wenn das Zeichen an der Position index in s eine Zahl ist, andernfalls false.

Ausnahmen

s ist null.

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

Beispiele

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

Hinweise

Diese Methode bestimmt, ob eine Char einer numerischen Unicode-Kategorie entspricht. Zusätzlich zum Einschließen von Ziffern enthalten Zahlen Zeichen, Bruchzahlen, Tiefgestellte, Superscripts, lateinische Ziffern, Währungszähler und umkreiste Zahlen. Diese Methode steht im Gegensatz zur IsDigit -Methode, die bestimmt, ob Char ein eine radix-10-Ziffer ist.

Zeichenpositionen in einer Zeichenfolge werden ab 0 (null) indiziert.

Wichtig

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. B. Int32.TryParse oder einen Double.TryParse ganzzahligen oder Gleitkommatyp).

Gültige Zahlen sind Elemente der UnicodeCategory.DecimalDigitNumber UnicodeCategory.LetterNumber Kategorie , oder UnicodeCategory.OtherNumber .

Wenn das Char Objekt an der Position das erste Zeichen eines gültigen index Ersatzzeichenpaars ist, bestimmt die IsNumber(String, Int32) Methode, ob das Ersatzzeichenpaar eine numerische Ziffer bildet. Beispielsweise besteht das Nummerierungssystem "Nummern" aus den Codepunkten U+10107 bis U+10133. Im folgenden Beispiel wird die ConvertFromUtf32 -Methode verwendet, um eine Zeichenfolge zu instanziieren, die DIE NUMMER 1 darstellt. Wie die Ausgabe des Beispiels zeigt, gibt die IsNumber(String, Int32) Methode zurück, true wenn ihr das hohe Ersatzzeichen VON NUMBER ONE übergeben wird. Wenn jedoch das niedrige Ersatzzeichen übergeben wird, berücksichtigt es nur die Kategorie des niedrigen Ersatzzeichens und gibt false zurück.

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

Siehe auch

Gilt für

IsNumber(Char)

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 auszuwertende Unicode-Zeichen.

Gibt zurück

Boolean

true, wenn c eine Zahl ist, andernfalls false.

Beispiele

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

Hinweise

Diese Methode bestimmt, ob eine Char einer numerischen Unicode-Kategorie entspricht. Zusätzlich zum Einschließen von Ziffern enthalten Zahlen Zeichen, Bruchzahlen, Tiefgestellte, Superscripts, lateinische Ziffern, Währungszähler und umkreiste Zahlen. Diese Methode steht im Gegensatz zur IsDigit -Methode, die bestimmt, ob Char ein eine radix-10-Ziffer ist.

Wichtig

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. B. Int32.TryParse oder einen Double.TryParse ganzzahligen oder Gleitkommatyp).

Gültige Zahlen sind Elemente der UnicodeCategory.DecimalDigitNumber UnicodeCategory.LetterNumber Kategorie , oder UnicodeCategory.OtherNumber .

Die IsNumber(Char) -Methode geht davon aus, dass c einem einzelnen linguistischen 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 Ersatzzeichenpaar bilden. Beispielsweise besteht das Nummerierungssystem "Nummern" aus den Codepunkten U+10107 bis U+10133. Im folgenden Beispiel wird die ConvertFromUtf32 -Methode verwendet, um eine Zeichenfolge zu instanziieren, die DIE NUMMER 1 darstellt. Wie die Ausgabe des Beispiels zeigt, gibt die IsNumber(Char) Methode zurück, false wenn entweder ein hohes oder ein niedriges Ersatzzeichen dieses Zeichens ü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

Siehe auch

Gilt für