Char.IsNumber Methode

Definitie

Geeft aan of een Unicode-teken is gecategoriseerd als een getal.

Overloads

Name Description
IsNumber(Char)

Geeft aan of het opgegeven Unicode-teken is gecategoriseerd als een getal.

IsNumber(String, Int32)

Geeft aan of het teken op de opgegeven positie in een opgegeven tekenreeks is gecategoriseerd als een getal.

IsNumber(Char)

Geeft aan of het opgegeven Unicode-teken is gecategoriseerd als een getal.

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

Parameters

c
Char

Het Unicode-teken dat moet worden geëvalueerd.

Retouren

trueals c dit een getal is; anders. false

Voorbeelden

In het volgende voorbeeld ziet u hoe u dit kunt doen 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

Opmerkingen

Deze methode bepaalt of een Char van de numerieke Unicode-categorieën is. Naast het opnemen van cijfers zijn getallen tekens, breuken, subscripts, superscripts, Romeinse cijfers, valutatellers en omcirkelde getallen. Deze methode contrasteert met de IsDigit methode, die bepaalt of een Char radix-10-cijfer is.

Important

De IsNumber(Char) methode is niet bedoeld om te bepalen of een tekenreeks bestaat uit numerieke tekens (bijvoorbeeld door de methode voor elk teken in een tekenreeks aan te roepen). Als u wilt bepalen of een tekenreeks uit numerieke tekens bestaat, roept u een van de overbelastingen van de TryParse methode aan (zoals Int32.TryParse of Double.TryParse van een integraal of drijvende-kommatype).

Geldige getallen zijn leden van de UnicodeCategory.DecimalDigitNumber, UnicodeCategory.LetterNumberof UnicodeCategory.OtherNumber categorie.

Bij de IsNumber(Char) methode wordt ervan uitgegaan dat dit c overeenkomt met één taalkundig teken en wordt gecontroleerd of dat teken een getal vertegenwoordigt. Sommige getallen in de Unicode-standaard worden echter vertegenwoordigd door twee Char objecten die een surrogaatpaar vormen. Het systeem voor de Nummering in de Egeïsche zee bestaat bijvoorbeeld uit codepunten U+10107 tot en met U+10133. In het volgende voorbeeld wordt de ConvertFromUtf32 methode gebruikt om een tekenreeks te instantiëren die DE EGEÏSCHE WAARDE ÉÉN vertegenwoordigt. Zoals de uitvoer uit het voorbeeld laat zien, retourneert false de IsNumber(Char) methode of deze wordt doorgegeven aan een hoog surrogaat of een laag surrogaat van dit teken.

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

Zie ook

Van toepassing op

IsNumber(String, Int32)

Geeft aan of het teken op de opgegeven positie in een opgegeven tekenreeks is gecategoriseerd als een getal.

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

Parameters

s
String

Een tekenreeks.

index
Int32

De positie van het teken dat moet worden geëvalueerd s.

Retouren

trueals het teken op s positie index een getal is; anders. false

Uitzonderingen

index is kleiner dan nul of groter dan de laatste positie in s.

Voorbeelden

In het volgende voorbeeld ziet u hoe u dit kunt doen 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

Opmerkingen

Deze methode bepaalt of een Char van de numerieke Unicode-categorieën is. Naast het opnemen van cijfers zijn getallen tekens, breuken, subscripts, superscripts, Romeinse cijfers, valutatellers en omcirkelde getallen. Deze methode contrasteert met de IsDigit methode, die bepaalt of een Char radix-10-cijfer is.

Tekenposities in een tekenreeks worden geïndexeerd vanaf nul.

Important

De IsNumber(String, Int32) methode is niet bedoeld om te bepalen of een tekenreeks bestaat uit numerieke tekens (bijvoorbeeld door de methode voor elk teken in een tekenreeks aan te roepen). Als u wilt bepalen of een tekenreeks uit numerieke tekens bestaat, roept u een van de overbelastingen van de TryParse methode aan (zoals Int32.TryParse of Double.TryParse van een integraal of drijvende-kommatype).

Geldige getallen zijn leden van de UnicodeCategory.DecimalDigitNumber, UnicodeCategory.LetterNumberof UnicodeCategory.OtherNumber categorie.

Als het Char object op positie index het eerste teken van een geldig surrogaatpaar is, bepaalt de IsNumber(String, Int32) methode of het surrogaatpaar een numeriek cijfer vormt. Het systeem voor de Nummering in de Egeïsche zee bestaat bijvoorbeeld uit codepunten U+10107 tot en met U+10133. In het volgende voorbeeld wordt de ConvertFromUtf32 methode gebruikt om een tekenreeks te instantiëren die DE EGEÏSCHE WAARDE ÉÉN vertegenwoordigt. Zoals de uitvoer uit het voorbeeld laat zien, retourneert true de IsNumber(String, Int32) methode als deze wordt doorgegeven aan het hoge surrogaat van EGEÏSCHE NUMMER 1. Als het echter wordt doorgegeven aan het lage surrogaat, wordt alleen de categorie van het lage surrogaat beschouwd en wordt geretourneerd 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

Zie ook

Van toepassing op