Char.IsNumber Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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
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