Char.IsNumber Metod

Definition

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

Se även

Gäller för