語言

Char.IsNumber 方法

定義

表示 Unicode 字元是否被分類為數字。

多載

名稱 Description
IsNumber(Char)

指出指定的 Unicode 字元是否分類為數位。

IsNumber(String, Int32)

指出指定字串中指定位置的字元是否分類為數位。

IsNumber(Char)

來源:
Char.cs
來源:
Char.cs
來源:
Char.cs
來源:
Char.cs
來源:
Char.cs

指出指定的 Unicode 字元是否分類為數位。

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

參數

c
Char

用來評估 Unicode 字元。

傳回

true 若 c 為數字;否則為 false。

範例

下列範例示範 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

備註

此方法判斷 a Char 是否屬於任何數值 Unicode 類別。 除了包含數字外,數字還包括字元、分數、下標、上標、羅馬數字、貨幣分子及圈內數字。 此方法與 IsDigit 判斷 a Char 是否為基數 10 位數的方法形成對比。

Important

此 IsNumber(Char) 方法並非用來判斷字串是否由數字字元組成(例如,透過呼叫字串中每個字元的方法)。 要判斷字串是否由數字字元組成,請呼叫方法的 TryParse 超載(例如 Int32.TryParse 積分或浮點類型的 OR Double.TryParse )。

有效數字屬於 UnicodeCategory.DecimalDigitNumber、 UnicodeCategory.LetterNumber或 UnicodeCategory.OtherNumber 類別。

此 IsNumber(Char) 方法假設 對 c 應一個語言特徵,並檢查該字母是否代表一個數字。 然而,Unicode 標準中有些數字是由兩個 Char 物件組成的替代對表示。 例如,愛琴海的編號系統由代碼點 U+10107 到 U+10133 組成。 以下範例使用此 ConvertFromUtf32 方法來實例表示愛琴海一號的字串。 如範例輸出所示, IsNumber(Char) 若該方法被傳遞該字元的高代或低代替,則會回傳 false 。

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

另請參閱

適用於

IsNumber(String, Int32)

來源:
Char.cs
來源:
Char.cs
來源:
Char.cs
來源:
Char.cs
來源:
Char.cs

指出指定字串中指定位置的字元是否分類為數位。

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

參數

s
String

字串。

index
Int32

在 中 s評估的字元位置。

傳回

true若 中index位置s的字元為數字;否則, false。

例外狀況

s 是 null。

index 小於零或大於中 s最後一個位置。

範例

下列範例示範 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

備註

此方法判斷 a Char 是否屬於任何數值 Unicode 類別。 除了包含數字外,數字還包括字元、分數、下標、上標、羅馬數字、貨幣分子及圈內數字。 此方法與 IsDigit 判斷 a Char 是否為基數 10 位數的方法形成對比。

字串中的字元位置從零開始索引。

Important

此 IsNumber(String, Int32) 方法並非用來判斷字串是否由數字字元組成(例如,透過呼叫字串中每個字元的方法)。 要判斷字串是否由數字字元組成,請呼叫方法的 TryParse 超載(例如 Int32.TryParse 積分或浮點類型的 OR Double.TryParse )。

有效數字屬於 UnicodeCategory.DecimalDigitNumber、 UnicodeCategory.LetterNumber或 UnicodeCategory.OtherNumber 類別。

若 Char 位置 index 物件為有效代理對的第一個字元,方法 IsNumber(String, Int32) 判斷該代理對是否構成數字。 例如,愛琴海的編號系統由代碼點 U+10107 到 U+10133 組成。 以下範例使用此 ConvertFromUtf32 方法來實例表示愛琴海一號的字串。 如範例輸出所示, IsNumber(String, Int32) 若方法通過愛琴海第一號的高代理,則會回傳 true 。 然而,若通過低代替,則只考慮低代替的範疇,並返回 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

另請參閱

適用於