Char.GetNumericValue 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.
Konvertiert ein angegebenes numerisches Unicode-Zeichen in eine Gleitkommazahl mit doppelter Genauigkeit.
Überlädt
| Name | Beschreibung |
|---|---|
| GetNumericValue(Char) |
Konvertiert das angegebene numerische Unicode-Zeichen in eine Gleitkommazahl mit doppelter Genauigkeit. |
| GetNumericValue(String, Int32) |
Konvertiert das numerische Unicode-Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge in eine Gleitkommazahl mit doppelter Genauigkeit. |
GetNumericValue(Char)
- Quelle:
- Char.cs
- Quelle:
- Char.cs
- Quelle:
- Char.cs
- Quelle:
- Char.cs
- Quelle:
- Char.cs
Konvertiert das angegebene numerische Unicode-Zeichen in eine Gleitkommazahl mit doppelter Genauigkeit.
public:
static double GetNumericValue(char c);
public static double GetNumericValue(char c);
static member GetNumericValue : char -> double
Public Shared Function GetNumericValue (c As Char) As Double
Parameter
- c
- Char
Das zu konvertierende Unicode-Zeichen.
Gibt zurück
Der numerische Wert, wenn c dieses Zeichen eine Zahl darstellt; andernfalls -1,0.
Beispiele
Das folgende Beispiel veranschaulicht GetNumericValue.
using System;
public class GetNumericValueSample {
public static void Main() {
string str = "input: 1";
Console.WriteLine(Char.GetNumericValue('8')); // Output: "8"
Console.WriteLine(Char.GetNumericValue(str, 7)); // Output: "1"
}
}
open System
let str = "input: 1"
printfn $"{Char.GetNumericValue '8'}" // Output: "8"
printfn $"{Char.GetNumericValue(str, 7)}" // Output: "1"
Module GetNumericValueSample
Sub Main()
Dim str As String
str = "input: 1"
Console.WriteLine(Char.GetNumericValue("8"c)) ' Output: "8"
Console.WriteLine(Char.GetNumericValue(str, 7)) ' Output: "1"
End Sub
End Module
Hinweise
Der c Parameter muss die Char Darstellung eines numerischen Werts sein. Wenn beispielsweise c "5" lautet, lautet der Rückgabewert 5. Ist c jedoch "z", lautet der Rückgabewert -1,0.
Ein Zeichen weist einen zugeordneten numerischen Wert auf, wenn es sich nur um ein Element einer der folgenden UnicodeCategory Kategorien handelt: DecimalDigitNumber, , LetterNumber, oder OtherNumber.
Bei der GetNumericValue Methode wird davon ausgegangen, dass c es einem einzelnen sprachlichen Zeichen entspricht, und überprüft, ob dieses Zeichen in eine Dezimalziffer konvertiert werden kann. 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 GetNumericValue(Char) Methode -1 zurück, wenn sie entweder eine hohe Ersatzangabe oder eine niedrige Ersatzangabe 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.GetNumericValue(ch));
// The example displays the following output:
// U+D800: -1
// U+DD07: -1
let utf32 = 0x10107 // AEGEAN NUMBER ONE
let surrogate = Char.ConvertFromUtf32 utf32
for ch in surrogate do
printfn $"U+{Convert.ToUInt16 ch:X4}: {Char.GetNumericValue ch} "
// The example displays the following output:
// U+D800: -1
// U+DD07: -1
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.GetNumericValue(ch))
Next
' The example displays the following output:
' U+D800: -1
' U+DD07: -1
Weitere Informationen
Gilt für:
GetNumericValue(String, Int32)
- Quelle:
- Char.cs
- Quelle:
- Char.cs
- Quelle:
- Char.cs
- Quelle:
- Char.cs
- Quelle:
- Char.cs
Konvertiert das numerische Unicode-Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge in eine Gleitkommazahl mit doppelter Genauigkeit.
public:
static double GetNumericValue(System::String ^ s, int index);
public static double GetNumericValue(string s, int index);
static member GetNumericValue : string * int -> double
Public Shared Function GetNumericValue (s As String, index As Integer) As Double
Parameter
- index
- Int32
Die Zeichenposition in s.
Gibt zurück
Der numerische Wert des Zeichens an der Position index , s wenn dieses Zeichen eine Zahl darstellt; andernfalls -1.
Ausnahmen
s ist null.
index ist kleiner als null oder größer als die letzte Position in s.
Beispiele
Das folgende Codebeispiel veranschaulicht GetNumericValue.
using System;
public class GetNumericValueSample {
public static void Main() {
string str = "input: 1";
Console.WriteLine(Char.GetNumericValue('8')); // Output: "8"
Console.WriteLine(Char.GetNumericValue(str, 7)); // Output: "1"
}
}
open System
let str = "input: 1"
printfn $"{Char.GetNumericValue '8'}" // Output: "8"
printfn $"{Char.GetNumericValue(str, 7)}" // Output: "1"
Module GetNumericValueSample
Sub Main()
Dim str As String
str = "input: 1"
Console.WriteLine(Char.GetNumericValue("8"c)) ' Output: "8"
Console.WriteLine(Char.GetNumericValue(str, 7)) ' Output: "1"
End Sub
End Module
Hinweise
Der s Parameter muss die Zeichenfolgendarstellung eines numerischen Werts sein. Wenn z. B. das Zeichen an der Position index " s 5" lautet, lautet der Rückgabewert 5. Wenn das Zeichen an der Position in index der Position s jedoch "z" lautet, lautet der Rückgabewert -1.
Zeichenpositionen in einer Zeichenfolge werden beginnend mit Null indiziert.
Ein Zeichen weist einen zugeordneten numerischen Wert auf, wenn es sich nur um ein Element einer der folgenden UnicodeCategory Kategorien handelt: DecimalDigitNumber, , LetterNumber, oder OtherNumber.
Wenn das Char Objekt an der Position index das erste Zeichen eines gültigen Ersatzpaars ist, bestimmt die GetNumericValue(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 jede Ägäis-Zahl darstellt. Wie die Ausgabe aus dem Beispiel zeigt, gibt die GetNumericValue(String, Int32) Methode den richtigen numerischen Wert zurück, wenn sie das hohe Ersatz für eine Ägäis-Zahl übergeben wird. Wenn es jedoch an den niedrigen Ersatz übergeben wird, berücksichtigt es nur den niedrigen Ersatz für isoliert und gibt -1 zurück.
// Define a UTF32 value for each character in the
// Aegean numbering system.
for (int utf32 = 0x10107; utf32 <= 0x10133; utf32++) {
string surrogate = Char.ConvertFromUtf32(utf32);
for (int ctr = 0; ctr < surrogate.Length; ctr++)
Console.Write("U+{0:X4} at position {1}: {2} ",
Convert.ToUInt16(surrogate[ctr]), ctr,
Char.GetNumericValue(surrogate, ctr));
Console.WriteLine();
}
// The example displays the following output:
// U+D800 at position 0: 1 U+DD07 at position 1: -1
// U+D800 at position 0: 2 U+DD08 at position 1: -1
// U+D800 at position 0: 3 U+DD09 at position 1: -1
// U+D800 at position 0: 4 U+DD0A at position 1: -1
// U+D800 at position 0: 5 U+DD0B at position 1: -1
// U+D800 at position 0: 6 U+DD0C at position 1: -1
// U+D800 at position 0: 7 U+DD0D at position 1: -1
// U+D800 at position 0: 8 U+DD0E at position 1: -1
// U+D800 at position 0: 9 U+DD0F at position 1: -1
// U+D800 at position 0: 10 U+DD10 at position 1: -1
// U+D800 at position 0: 20 U+DD11 at position 1: -1
// U+D800 at position 0: 30 U+DD12 at position 1: -1
// U+D800 at position 0: 40 U+DD13 at position 1: -1
// U+D800 at position 0: 50 U+DD14 at position 1: -1
// U+D800 at position 0: 60 U+DD15 at position 1: -1
// U+D800 at position 0: 70 U+DD16 at position 1: -1
// U+D800 at position 0: 80 U+DD17 at position 1: -1
// U+D800 at position 0: 90 U+DD18 at position 1: -1
// U+D800 at position 0: 100 U+DD19 at position 1: -1
// U+D800 at position 0: 200 U+DD1A at position 1: -1
// U+D800 at position 0: 300 U+DD1B at position 1: -1
// U+D800 at position 0: 400 U+DD1C at position 1: -1
// U+D800 at position 0: 500 U+DD1D at position 1: -1
// U+D800 at position 0: 600 U+DD1E at position 1: -1
// U+D800 at position 0: 700 U+DD1F at position 1: -1
// U+D800 at position 0: 800 U+DD20 at position 1: -1
// U+D800 at position 0: 900 U+DD21 at position 1: -1
// U+D800 at position 0: 1000 U+DD22 at position 1: -1
// U+D800 at position 0: 2000 U+DD23 at position 1: -1
// U+D800 at position 0: 3000 U+DD24 at position 1: -1
// U+D800 at position 0: 4000 U+DD25 at position 1: -1
// U+D800 at position 0: 5000 U+DD26 at position 1: -1
// U+D800 at position 0: 6000 U+DD27 at position 1: -1
// U+D800 at position 0: 7000 U+DD28 at position 1: -1
// U+D800 at position 0: 8000 U+DD29 at position 1: -1
// U+D800 at position 0: 9000 U+DD2A at position 1: -1
// U+D800 at position 0: 10000 U+DD2B at position 1: -1
// U+D800 at position 0: 20000 U+DD2C at position 1: -1
// U+D800 at position 0: 30000 U+DD2D at position 1: -1
// U+D800 at position 0: 40000 U+DD2E at position 1: -1
// U+D800 at position 0: 50000 U+DD2F at position 1: -1
// U+D800 at position 0: 60000 U+DD30 at position 1: -1
// U+D800 at position 0: 70000 U+DD31 at position 1: -1
// U+D800 at position 0: 80000 U+DD32 at position 1: -1
// U+D800 at position 0: 90000 U+DD33 at position 1: -1
// Define a UTF32 value for each character in the
// Aegean numbering system.
for utf32 in 0x10107..0x10133 do
let surrogate = Char.ConvertFromUtf32 utf32
for i = 0 to surrogate.Length - 1 do
printf $"U+{Convert.ToUInt16 surrogate[i]:X4} at position {i}: {Char.GetNumericValue(surrogate, i)} "
printfn ""
// The example displays the following output:
// U+D800 at position 0: 1 U+DD07 at position 1: -1
// U+D800 at position 0: 2 U+DD08 at position 1: -1
// U+D800 at position 0: 3 U+DD09 at position 1: -1
// U+D800 at position 0: 4 U+DD0A at position 1: -1
// U+D800 at position 0: 5 U+DD0B at position 1: -1
// U+D800 at position 0: 6 U+DD0C at position 1: -1
// U+D800 at position 0: 7 U+DD0D at position 1: -1
// U+D800 at position 0: 8 U+DD0E at position 1: -1
// U+D800 at position 0: 9 U+DD0F at position 1: -1
// U+D800 at position 0: 10 U+DD10 at position 1: -1
// U+D800 at position 0: 20 U+DD11 at position 1: -1
// U+D800 at position 0: 30 U+DD12 at position 1: -1
// U+D800 at position 0: 40 U+DD13 at position 1: -1
// U+D800 at position 0: 50 U+DD14 at position 1: -1
// U+D800 at position 0: 60 U+DD15 at position 1: -1
// U+D800 at position 0: 70 U+DD16 at position 1: -1
// U+D800 at position 0: 80 U+DD17 at position 1: -1
// U+D800 at position 0: 90 U+DD18 at position 1: -1
// U+D800 at position 0: 100 U+DD19 at position 1: -1
// U+D800 at position 0: 200 U+DD1A at position 1: -1
// U+D800 at position 0: 300 U+DD1B at position 1: -1
// U+D800 at position 0: 400 U+DD1C at position 1: -1
// U+D800 at position 0: 500 U+DD1D at position 1: -1
// U+D800 at position 0: 600 U+DD1E at position 1: -1
// U+D800 at position 0: 700 U+DD1F at position 1: -1
// U+D800 at position 0: 800 U+DD20 at position 1: -1
// U+D800 at position 0: 900 U+DD21 at position 1: -1
// U+D800 at position 0: 1000 U+DD22 at position 1: -1
// U+D800 at position 0: 2000 U+DD23 at position 1: -1
// U+D800 at position 0: 3000 U+DD24 at position 1: -1
// U+D800 at position 0: 4000 U+DD25 at position 1: -1
// U+D800 at position 0: 5000 U+DD26 at position 1: -1
// U+D800 at position 0: 6000 U+DD27 at position 1: -1
// U+D800 at position 0: 7000 U+DD28 at position 1: -1
// U+D800 at position 0: 8000 U+DD29 at position 1: -1
// U+D800 at position 0: 9000 U+DD2A at position 1: -1
// U+D800 at position 0: 10000 U+DD2B at position 1: -1
// U+D800 at position 0: 20000 U+DD2C at position 1: -1
// U+D800 at position 0: 30000 U+DD2D at position 1: -1
// U+D800 at position 0: 40000 U+DD2E at position 1: -1
// U+D800 at position 0: 50000 U+DD2F at position 1: -1
// U+D800 at position 0: 60000 U+DD30 at position 1: -1
// U+D800 at position 0: 70000 U+DD31 at position 1: -1
// U+D800 at position 0: 80000 U+DD32 at position 1: -1
// U+D800 at position 0: 90000 U+DD33 at position 1: -1
' Define a UTF32 value for each character in the
' Aegean numbering system.
For utf32 As Integer = &h10107 To &h10133
Dim surrogate As String = Char.ConvertFromUtf32(utf32)
For ctr As Integer = 0 To surrogate.Length - 1
Console.Write("U+{0:X4} at position {1}: {2} ",
Convert.ToUInt16(surrogate(ctr)), ctr,
Char.GetNumericValue(surrogate, ctr))
Next
Console.WriteLine()
Next
' The example displays the following output:
' U+D800 at position 0: 1 U+DD07 at position 1: -1
' U+D800 at position 0: 2 U+DD08 at position 1: -1
' U+D800 at position 0: 3 U+DD09 at position 1: -1
' U+D800 at position 0: 4 U+DD0A at position 1: -1
' U+D800 at position 0: 5 U+DD0B at position 1: -1
' U+D800 at position 0: 6 U+DD0C at position 1: -1
' U+D800 at position 0: 7 U+DD0D at position 1: -1
' U+D800 at position 0: 8 U+DD0E at position 1: -1
' U+D800 at position 0: 9 U+DD0F at position 1: -1
' U+D800 at position 0: 10 U+DD10 at position 1: -1
' U+D800 at position 0: 20 U+DD11 at position 1: -1
' U+D800 at position 0: 30 U+DD12 at position 1: -1
' U+D800 at position 0: 40 U+DD13 at position 1: -1
' U+D800 at position 0: 50 U+DD14 at position 1: -1
' U+D800 at position 0: 60 U+DD15 at position 1: -1
' U+D800 at position 0: 70 U+DD16 at position 1: -1
' U+D800 at position 0: 80 U+DD17 at position 1: -1
' U+D800 at position 0: 90 U+DD18 at position 1: -1
' U+D800 at position 0: 100 U+DD19 at position 1: -1
' U+D800 at position 0: 200 U+DD1A at position 1: -1
' U+D800 at position 0: 300 U+DD1B at position 1: -1
' U+D800 at position 0: 400 U+DD1C at position 1: -1
' U+D800 at position 0: 500 U+DD1D at position 1: -1
' U+D800 at position 0: 600 U+DD1E at position 1: -1
' U+D800 at position 0: 700 U+DD1F at position 1: -1
' U+D800 at position 0: 800 U+DD20 at position 1: -1
' U+D800 at position 0: 900 U+DD21 at position 1: -1
' U+D800 at position 0: 1000 U+DD22 at position 1: -1
' U+D800 at position 0: 2000 U+DD23 at position 1: -1
' U+D800 at position 0: 3000 U+DD24 at position 1: -1
' U+D800 at position 0: 4000 U+DD25 at position 1: -1
' U+D800 at position 0: 5000 U+DD26 at position 1: -1
' U+D800 at position 0: 6000 U+DD27 at position 1: -1
' U+D800 at position 0: 7000 U+DD28 at position 1: -1
' U+D800 at position 0: 8000 U+DD29 at position 1: -1
' U+D800 at position 0: 9000 U+DD2A at position 1: -1
' U+D800 at position 0: 10000 U+DD2B at position 1: -1
' U+D800 at position 0: 20000 U+DD2C at position 1: -1
' U+D800 at position 0: 30000 U+DD2D at position 1: -1
' U+D800 at position 0: 40000 U+DD2E at position 1: -1
' U+D800 at position 0: 50000 U+DD2F at position 1: -1
' U+D800 at position 0: 60000 U+DD30 at position 1: -1
' U+D800 at position 0: 70000 U+DD31 at position 1: -1
' U+D800 at position 0: 80000 U+DD32 at position 1: -1
' U+D800 at position 0: 90000 U+DD33 at position 1: -1