Char.IsNumber Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wskazuje, czy znak Unicode jest klasyfikowany jako liczba.
Przeciążenia
| Nazwa | Opis |
|---|---|
| IsNumber(Char) |
Wskazuje, czy określony znak Unicode jest klasyfikowany jako liczba. |
| IsNumber(String, Int32) |
Wskazuje, czy znak na określonej pozycji w określonym ciągu jest klasyfikowany jako liczba. |
IsNumber(Char)
- Źródło:
- Char.cs
- Źródło:
- Char.cs
- Źródło:
- Char.cs
- Źródło:
- Char.cs
- Źródło:
- Char.cs
Wskazuje, czy określony znak Unicode jest klasyfikowany jako liczba.
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
Parametry
- c
- Char
Znak Unicode do oceny.
Zwraca
true jeśli c jest liczbą; w przeciwnym razie false.
Przykłady
W poniższym przykładzie przedstawiono 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
Uwagi
Ta metoda określa, czy element ma dowolną Char kategorię liczbową Unicode. Oprócz dołączania cyfr, liczby obejmują znaki, ułamki, indeksy dolne, indeksy górne, liczby rzymskie, liczniki walut i otaczające liczby. Ta metoda kontrastuje z IsDigit metodą, która określa, czy element Char jest cyfrą radix-10.
Ważna
Metoda IsNumber(Char) nie jest przeznaczona do określenia, czy ciąg składa się z znaków liczbowych (na przykład przez wywołanie metody dla każdego znaku w ciągu). Aby określić, czy ciąg składa się z znaków liczbowych, wywołaj jedno z przeciążeń TryParse metody (np Int32.TryParse . lub Double.TryParse typu całkowitego lub zmiennoprzecinkowego.
Prawidłowe liczby to elementy członkowskie UnicodeCategory.DecimalDigitNumberkategorii , UnicodeCategory.LetterNumberlub UnicodeCategory.OtherNumber .
Metoda IsNumber(Char) zakłada, że c odpowiada pojedynczemu znakowi językowemu i sprawdza, czy ten znak reprezentuje liczbę. Jednak niektóre liczby w standardzie Unicode są reprezentowane przez dwa Char obiekty, które tworzą parę zastępczą. Na przykład system numerowania Morza Egejskiego składa się z punktów kodowych U+10107 do U+10133. W poniższym przykładzie użyto ConvertFromUtf32 metody w celu utworzenia wystąpienia ciągu reprezentującego numer EGEJSKIE NUMER JEDEN. Jak pokazuje dane wyjściowe z przykładu, metoda zwraca IsNumber(Char) wartość , false jeśli jest przekazywana wysoki zastępca lub niski zastępca tego znaku.
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
Zobacz też
Dotyczy
IsNumber(String, Int32)
- Źródło:
- Char.cs
- Źródło:
- Char.cs
- Źródło:
- Char.cs
- Źródło:
- Char.cs
- Źródło:
- Char.cs
Wskazuje, czy znak na określonej pozycji w określonym ciągu jest klasyfikowany jako liczba.
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
Parametry
- s
- String
Pewien ciąg.
- index
- Int32
Pozycja znaku do obliczenia w elem s.
Zwraca
truejeśli znak na pozycji w elemecie index jest liczbą; w przeciwnym razie s.false
Wyjątki
Parametr s ma wartość null.
index wartość jest mniejsza niż zero lub większa niż ostatnia pozycja w elem s.
Przykłady
W poniższym przykładzie przedstawiono 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
Uwagi
Ta metoda określa, czy element ma dowolną Char kategorię liczbową Unicode. Oprócz dołączania cyfr, liczby obejmują znaki, ułamki, indeksy dolne, indeksy górne, liczby rzymskie, liczniki walut i otaczające liczby. Ta metoda kontrastuje z IsDigit metodą, która określa, czy element Char jest cyfrą radix-10.
Pozycje znaków w ciągu są indeksowane począwszy od zera.
Ważna
Metoda IsNumber(String, Int32) nie jest przeznaczona do określenia, czy ciąg składa się z znaków liczbowych (na przykład przez wywołanie metody dla każdego znaku w ciągu). Aby określić, czy ciąg składa się z znaków liczbowych, wywołaj jedno z przeciążeń TryParse metody (np Int32.TryParse . lub Double.TryParse typu całkowitego lub zmiennoprzecinkowego.
Prawidłowe liczby to elementy członkowskie UnicodeCategory.DecimalDigitNumberkategorii , UnicodeCategory.LetterNumberlub UnicodeCategory.OtherNumber .
Char Jeśli obiekt na pozycji index jest pierwszym znakiem prawidłowej pary zastępczej, metoda określa, IsNumber(String, Int32) czy para zastępcza tworzy cyfrę liczbową. Na przykład system numerowania Morza Egejskiego składa się z punktów kodowych U+10107 do U+10133. W poniższym przykładzie użyto ConvertFromUtf32 metody w celu utworzenia wystąpienia ciągu reprezentującego numer EGEJSKIE NUMER JEDEN. Jak pokazano w danych wyjściowych z przykładu, metoda zwraca IsNumber(String, Int32) wartość true , jeśli jest przekazywana wysoki zastępca LICZBY EGEJSKIEJ NUMER JEDEN. Jeśli jednak jest przekazywany niski zastępca, uważa tylko kategorię niskiego zastępcy i zwraca wartość 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