Char.IsNumber Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, jestli je znak Unicode zařazený do kategorie jako číslo.
Přetížení
IsNumber(String, Int32) |
Určuje, jestli je znak na zadané pozici v zadaném řetězci zařazený do kategorie jako číslo. |
IsNumber(Char) |
Určuje, jestli je zadaný znak Unicode zařazený do kategorie jako číslo. |
IsNumber(String, Int32)
Určuje, jestli je znak na zadané pozici v zadaném řetězci zařazený do kategorie jako číslo.
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
Řetězec.
- index
- Int32
Pozice znaku, který se má vyhodnotit v s
.
Návraty
true
pokud je znak na index
s
pozici v číslu, jinak false
.
Výjimky
s
je null
.
index
je menší než nula nebo větší než poslední pozice v s
.
Příklady
Následující příklad ukazuje 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
Poznámky
Tato metoda určuje, jestli Char má být v jakékoli číselné kategorii Unicode. Kromě číslic, číslic zahrnují znaky, zlomky, dolní indexy, horní indexy, římské číslice, čitatele měn a encircled čísla. Tato metoda je v kontrastu s IsDigit metodou, která určuje, zda se jedná o Char číslici v základu 10.
Pozice znaku v řetězci jsou indexovány od nuly.
Důležité
IsNumber(String, Int32)Metoda není určena k určení, zda řetězec obsahuje číselné znaky (například voláním metody pro každý znak v řetězci). Chcete-li zjistit, zda řetězec obsahuje číselné znaky, zavolejte jedno z přetížení TryParse
metody (například Int32.TryParse nebo Double.TryParse z integrálního nebo plovoucího bodu typu.
Platná čísla jsou členy UnicodeCategory.DecimalDigitNumber UnicodeCategory.LetterNumber kategorie, nebo UnicodeCategory.OtherNumber .
CharJe-li objekt na pozici index
prvním znakem platného náhradního páru, IsNumber(String, Int32) Metoda určuje, zda náhradní dvojice tvoří číselnou číslici. Systém číslování v Egejském moři se například skládá z kódových bodů U + 10107 až U + 10133. Následující příklad používá ConvertFromUtf32 metodu pro vytvoření instance řetězce, který představuje číslo 1 v Egejském moři. Jak ukazuje výstup z příkladu, IsNumber(String, Int32) metoda se vrátí, true
Pokud je předána vysoká náhrada za první číslo v Egejském moři. Pokud je však předána Nízká náhrada, uvažuje se pouze kategorie nízké náhrady a vráceno 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
Viz také
Platí pro
IsNumber(Char)
Určuje, jestli je zadaný znak Unicode zařazený do kategorie jako číslo.
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, který chcete vyhodnotit.
Návraty
true
pokud c
je číslo, jinak false
.
Příklady
Následující příklad ukazuje 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
Poznámky
Tato metoda určuje, jestli Char má být v jakékoli číselné kategorii Unicode. Kromě zahrnutí číslic zahrnují čísla znaky, zlomky, dolní indexy, horní indexy, latinská číslice, čitaly měn a obkripcená čísla. Tato metoda je v kontrastu s metodou , která určuje, zda IsDigit je číslo Char radix-10.
Důležité
Metoda není určená k určení, zda se řetězec skládá z číselných znaků (například voláním metody IsNumber(Char) pro každý znak v řetězci). Pokud chcete určit, jestli se řetězec skládá z číselných znaků, zavolejte jedno z přetížení metody (například nebo celočíselného typu nebo typu s plovoucí TryParse
Int32.TryParse Double.TryParse desetinnou čárkou.
Platná čísla jsou členy UnicodeCategory.DecimalDigitNumber kategorie UnicodeCategory.LetterNumber , nebo UnicodeCategory.OtherNumber .
Metoda IsNumber(Char) předpokládá, že odpovídá jednomu lingvistickému c
znaku, a kontroluje, zda tento znak představuje číslo. Některá čísla ve standardu Unicode jsou však reprezentována dvěma Char objekty, které tvoří náhradní pár. Systém číslování v Egejském moři se například skládá z kódových bodů U + 10107 až U + 10133. Následující příklad používá ConvertFromUtf32 metodu k vytvoření instance řetězce, který představuje FUNKCI NUMBER ONE. Jak ukazuje výstup z příkladu, metoda vrátí hodnotu , pokud je předána buď vysokému náhradnímu znaku, nebo nízkému IsNumber(Char) false
náhradnímu 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