Char.IsNumber メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Unicode 文字が数字かどうかを示します。
オーバーロード
IsNumber(String, Int32) |
指定した文字列の指定位置にある文字が数字かどうかを示します。 |
IsNumber(Char) |
指定された Unicode 文字が数字かどうかを示します。 |
IsNumber(String, Int32)
指定した文字列の指定位置にある文字が数字かどうかを示します。
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
内の評価する文字の位置。
戻り値
s
の index
の位置にある文字が数字である場合は true
。それ以外の場合は false
。
例外
s
が null
です。
index
が 0 未満の値か、s
の最後の位置より大きい値です。
例
次の例は、を示して IsNumber います。
using namespace System;
int main()
{
String^ str = "non-numeric";
Console::WriteLine( Char::IsNumber( '8' ) ); // Output: "True"
Console::WriteLine( Char::IsNumber( str, 3 ) ); // Output: "False"
}
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
注釈
このメソッド Char は、が任意の数値 Unicode カテゴリであるかどうかを判断します。 数字に加え、数字、分数、添字、上付き文字、ローマ数字、通貨分子、encircled 番号などが含まれます。 このメソッドは、 IsDigit Char が基数10の数字であるかどうかを判断するメソッドとは対照的です。
文字列内の文字位置は0から始まるインデックスが作成されます。
重要
メソッドは、 IsNumber(String, Int32) 文字列が数字で構成されているかどうかを判断するためのものではありません (たとえば、文字列内の各文字に対してメソッドを呼び出すことによって)。 文字列が数値で構成されているかどうかを判断するには、メソッドのいずれかのオーバーロード TryParse
( Int32.TryParse Double.TryParse 整数型または浮動小数点型の、など) を呼び出します。
有効な数値は UnicodeCategory.DecimalDigitNumber 、、 UnicodeCategory.LetterNumber 、またはカテゴリのメンバーです UnicodeCategory.OtherNumber 。
Char位置にあるオブジェクト index
が有効なサロゲートペアの最初の文字である場合、メソッドは、 IsNumber(String, Int32) サロゲートペアが数字を形成するかどうかを判断します。 たとえば、Aegean ナンバリングシステムは、コードポイント U + 10107 から U + 10133 で構成されます。 次の例では、メソッドを使用し ConvertFromUtf32 て、AEGEAN NUMBER ONE を表す文字列をインスタンス化します。 この例の出力が示すように、 IsNumber(String, Int32) true
AEGEAN NUMBER の上位サロゲートが渡された場合、メソッドはを返します。 ただし、下位サロゲートを渡すと、下位サロゲートのカテゴリのみが考慮され、が返さ 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
こちらもご覧ください
適用対象
IsNumber(Char)
指定された 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 namespace System;
int main()
{
String^ str = "non-numeric";
Console::WriteLine( Char::IsNumber( '8' ) ); // Output: "True"
Console::WriteLine( Char::IsNumber( str, 3 ) ); // Output: "False"
}
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
注釈
このメソッド Char は、が任意の数値 Unicode カテゴリであるかどうかを判断します。 数字に加え、数字、分数、添字、上付き文字、ローマ数字、通貨分子、encircled 番号などが含まれます。 このメソッドは、 IsDigit Char が基数10の数字であるかどうかを判断するメソッドとは対照的です。
重要
メソッドは、 IsNumber(Char) 文字列が数字で構成されているかどうかを判断するためのものではありません (たとえば、文字列内の各文字に対してメソッドを呼び出すことによって)。 文字列が数値で構成されているかどうかを判断するには、メソッドのいずれかのオーバーロード TryParse
( Int32.TryParse Double.TryParse 整数型または浮動小数点型の、など) を呼び出します。
有効な数値は UnicodeCategory.DecimalDigitNumber 、、 UnicodeCategory.LetterNumber 、またはカテゴリのメンバーです UnicodeCategory.OtherNumber 。
メソッドは、 IsNumber(Char) が c
1 つの言語文字に対応し、その文字が数値を表しているかどうかをチェックします。 ただし、Unicode 規格の一部の数値は、 Char サロゲートペアを形成する2つのオブジェクトによって表されます。 たとえば、Aegean ナンバリングシステムは、コードポイント U + 10107 から U + 10133 で構成されます。 次の例では、メソッドを使用し ConvertFromUtf32 て、AEGEAN NUMBER ONE を表す文字列をインスタンス化します。 この例の出力結果が示すように、 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