Char.IsNumber 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示 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