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 kategoryzowany jako liczba.
Przeciążenia
IsNumber(String, Int32) |
Wskazuje, czy znak w określonej pozycji w określonym ciągu jest kategoryzowany jako liczba. |
IsNumber(Char) |
Wskazuje, czy określony znak Unicode jest kategoryzowany jako liczba. |
IsNumber(String, Int32)
Wskazuje, czy znak w określonej pozycji w określonym ciągu jest kategoryzowany 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
Ciąg.
- index
- Int32
Pozycja znaku do oceny w s
.
Zwraca
true
Jeśli znak w pozycji index
w jest liczbą; w przeciwnym s
razie false
.
Wyjątki
s
to null
.
index
jest mniejsze niż zero lub większe niż ostatnia pozycja w s
.
Przykłady
W poniższym przykładzie pokazano 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
Uwagi
Ta metoda określa, czy typ należy Char do żadnej liczbowej kategorii Unicode. Oprócz cyfr, liczby obejmują znaki, ułamki, indeksy dolny, indeksy najgłębsze, cyfry łaciński, liczniki walut i cyfry pojemne. Ta metoda jest przeciwieńszna metodzie , która określa, czy IsDigit jest to Char cyfra radix-10.
Pozycje znaku w ciągu są indeksowane począwszy od zera.
Ważne
Metoda nie służy do określania, czy ciąg składa się ze znaków liczbowych (na przykład przez wywołanie metody dla IsNumber(String, Int32) każdego znaku w ciągu). Aby określić, czy ciąg składa się ze znaków liczbowych, wywołaj jedno z przeciążeń metody (na przykład typ całkowitoliczbowy lub TryParse
Int32.TryParse Double.TryParse zmiennoprzecinkowy).
Prawidłowe liczby są członkami UnicodeCategory.DecimalDigitNumber kategorii UnicodeCategory.LetterNumber , lub UnicodeCategory.OtherNumber .
Jeśli obiekt w pozycji jest pierwszym znakiem prawidłowej pary zastępczej, metoda określa, czy para surogatów tworzy Char index
IsNumber(String, Int32) cyfrę liczbową. Na przykład system numeracji Morza Egejskiego składa się z kodów znaku U+10107 do U+10133. W poniższym przykładzie użyto metody , aby utworzyć wystąpienia ConvertFromUtf32 ciągu reprezentującego NUMER 1 w funkcji NUMER 1. Jak pokazano w danych wyjściowych z przykładu, metoda zwraca wartość , jeśli przekazano jej wysoką IsNumber(String, Int32) true
surogat NUMER 1 w tabeli NUMER 1. Jeśli jednak zostanie przekazany niski surogat, uwzględnia tylko kategorię niskiego surogatu 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
IsNumber(Char)
Wskazuje, czy określony znak Unicode jest kategoryzowany 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 pokazano 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
Uwagi
Ta metoda określa, czy typ należy Char do żadnej liczbowej kategorii Unicode. Oprócz cyfr cyfr, cyfry obejmują znaki, ułamki, indeksy dolny, indeksy nasłone, cyfry Przemysł, liczniki walut i cyfry pogrupowane. Ta metoda kontrastuje z metodą , która określa, czy IsDigit jest to Char cyfra radix-10.
Ważne
Metoda nie służy do określania, czy ciąg składa się ze znaków liczbowych (na przykład przez wywołanie metody dla IsNumber(Char) każdego znaku w ciągu). Aby określić, czy ciąg składa się ze znaków liczbowych, wywołaj jedno z przeciążeń metody (na przykład lub typu całkowitego lub TryParse
Int32.TryParse Double.TryParse zmiennoprzecinkowego.
Prawidłowe liczby są członkami UnicodeCategory.DecimalDigitNumber kategorii UnicodeCategory.LetterNumber , lub UnicodeCategory.OtherNumber .
Metoda IsNumber(Char) zakłada, że c
odpowiada on 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 numeracji Morza Egejskiego składa się z kodów znaku U+10107 do U+10133. W poniższym przykładzie użyto metody , aby utworzyć wystąpienia ciągu ConvertFromUtf32 reprezentującego NUMER 1 WN1. Jak pokazują dane wyjściowe z przykładu, metoda zwraca wartość , jeśli przekazano jej wysoki surogat lub niski IsNumber(Char) false
surogat 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