Sdílet prostřednictvím


Char.IsNumber Metoda

Definice

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

Boolean

true pokud je znak na index s pozici v číslu, jinak false .

Výjimky

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

Boolean

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

Viz také

Platí pro