Char.IsNumber Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
s is null.
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