Char.IsNumber Metoda

Definicja

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

Zobacz też

Dotyczy