Char.IsNumber Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger om ett Unicode-tecken kategoriseras som ett tal.
Överlagringar
| Name | Description |
|---|---|
| IsNumber(Char) |
Anger om det angivna Unicode-tecknet kategoriseras som ett tal. |
| IsNumber(String, Int32) |
Anger om tecknet på den angivna positionen i en angiven sträng kategoriseras som ett tal. |
IsNumber(Char)
- Källa:
- Char.cs
- Källa:
- Char.cs
- Källa:
- Char.cs
- Källa:
- Char.cs
- Källa:
- Char.cs
Anger om det angivna Unicode-tecknet kategoriseras som ett tal.
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
Parametrar
- c
- Char
Unicode-tecknet som ska utvärderas.
Returer
true om c är ett tal, annars false.
Exempel
I följande exempel visas 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
Kommentarer
Den här metoden avgör om en Char är av någon numerisk Unicode-kategori. Förutom att inkludera siffror inkluderar tal tecken, bråktal, nedsänkta, upphöjda, romerska siffror, valutatäljare och omslutna tal. Den här metoden står i IsDigit kontrast till metoden, som avgör om en Char är en radix-10-siffra.
Important
Metoden IsNumber(Char) är inte avsedd att avgöra om en sträng består av numeriska tecken (till exempel genom att anropa metoden för varje tecken i en sträng). Om du vill avgöra om en sträng består av numeriska tecken anropar du en av överlagringarna av TryParse metoden (till exempel Int32.TryParse eller Double.TryParse av en integrerad eller flyttal.
Giltiga tal är medlemmar i UnicodeCategory.DecimalDigitNumberkategorin , UnicodeCategory.LetterNumbereller UnicodeCategory.OtherNumber .
Metoden IsNumber(Char) förutsätter att det c motsvarar ett enda språkligt tecken och kontrollerar om det tecknet representerar ett tal. Vissa tal i Unicode-standarden representeras dock av två Char objekt som bildar ett surrogatpar. Till exempel består det egeiska numreringssystemet av kodpunkter U+10107 till U+10133. I följande exempel används ConvertFromUtf32 metoden för att instansiera en sträng som representerar AEGEAN NUMBER ONE. Som utdata från exemplet visar IsNumber(Char) returnerar false metoden om den skickas antingen en hög surrogat eller en låg surrogat av det här tecknet.
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
Se även
Gäller för
IsNumber(String, Int32)
- Källa:
- Char.cs
- Källa:
- Char.cs
- Källa:
- Char.cs
- Källa:
- Char.cs
- Källa:
- Char.cs
Anger om tecknet på den angivna positionen i en angiven sträng kategoriseras som ett tal.
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
Parametrar
- s
- String
En sträng.
- index
- Int32
Tecknets position som ska utvärderas i s.
Returer
trueom tecknet vid position index i s är ett tal, annars . false
Undantag
s är null.
index är mindre än noll eller större än den sista positionen i s.
Exempel
I följande exempel visas 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
Kommentarer
Den här metoden avgör om en Char är av någon numerisk Unicode-kategori. Förutom att inkludera siffror inkluderar tal tecken, bråktal, nedsänkta, upphöjda, romerska siffror, valutatäljare och omslutna tal. Den här metoden står i IsDigit kontrast till metoden, som avgör om en Char är en radix-10-siffra.
Teckenpositioner i en sträng indexeras från noll.
Important
Metoden IsNumber(String, Int32) är inte avsedd att avgöra om en sträng består av numeriska tecken (till exempel genom att anropa metoden för varje tecken i en sträng). Om du vill avgöra om en sträng består av numeriska tecken anropar du en av överlagringarna av TryParse metoden (till exempel Int32.TryParse eller Double.TryParse av en integrerad eller flyttal.
Giltiga tal är medlemmar i UnicodeCategory.DecimalDigitNumberkategorin , UnicodeCategory.LetterNumbereller UnicodeCategory.OtherNumber .
Char Om objektet på plats index är det första tecknet i ett giltigt surrogatpar avgör IsNumber(String, Int32) metoden om surrogatparet bildar en numerisk siffra. Till exempel består det egeiska numreringssystemet av kodpunkter U+10107 till U+10133. I följande exempel används ConvertFromUtf32 metoden för att instansiera en sträng som representerar AEGEAN NUMBER ONE. Som utdata från exemplet visar IsNumber(String, Int32) returnerar true metoden om den skickas den höga surrogaten för AEGEAN NUMBER ONE. Men om den skickas den låga surrogaten, tar den endast hänsyn till kategorin för den låga surrogaten och returnerar 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