Char.IsNumber メソッド

定義

Unicode 文字が数字かどうかを示します。Indicates whether a Unicode character is categorized as a number.

オーバーロード

IsNumber(Char)

指定された Unicode 文字が数字かどうかを示します。Indicates whether the specified Unicode character is categorized as a number.

IsNumber(String, Int32)

指定した文字列の指定位置にある文字が数字かどうかを示します。Indicates whether the character at the specified position in a specified string is categorized as a number.

IsNumber(Char)

指定された Unicode 文字が数字かどうかを示します。Indicates whether the specified Unicode character is categorized as a number.

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 文字。The Unicode character to evaluate.

戻り値

Boolean

true が数字である場合は c。それ以外の場合は falsetrue if c is a number; otherwise, false.

次の例は IsNumberを示しています。The following example demonstrates 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"
    }
}
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 カテゴリであるかどうかを判断します。This method determines whether a Char is of any numeric Unicode category. 数字に加え、数字、分数、添字、上付き文字、ローマ数字、通貨分子、encircled 番号などが含まれます。In addition to including digits, numbers include characters, fractions, subscripts, superscripts, Roman numerals, currency numerators, and encircled numbers. このメソッドは、Char が基数10の数字であるかどうかを判断する IsDigit メソッドとは対照的です。This method contrasts with the IsDigit method, which determines whether a Char is a radix-10 digit.

重要

IsNumber(Char) メソッドは、文字列が数字で構成されているかどうかを判断するためのものではありません (たとえば、文字列内の各文字に対してメソッドを呼び出すことによって)。The IsNumber(Char) method is not intended to determine whether a string consists of numeric characters (for example, by calling the method for each character in a string). 文字列が数値で構成されているかどうかを判断するには、TryParse メソッドのいずれかのオーバーロードを呼び出します (Int32.TryParse、整数型または浮動小数点型の Double.TryParse など)。To determine whether a string consists of numeric characters, call one of the overloads of the TryParse method (such as Int32.TryParse or Double.TryParse of an integral or floating point type.

有効な数値は、UnicodeCategory.DecimalDigitNumberUnicodeCategory.LetterNumber、または UnicodeCategory.OtherNumber カテゴリのメンバーです。Valid numbers are members of the UnicodeCategory.DecimalDigitNumber, UnicodeCategory.LetterNumber, or UnicodeCategory.OtherNumber category.

IsNumber(Char) メソッドは、c が1つの言語の文字に対応していることを前提としており、その文字が数値を表しているかどうかをチェックします。The IsNumber(Char) method assumes that c corresponds to a single linguistic character and checks whether that character represents a number. ただし、Unicode 規格の一部の数値は、サロゲートペアを形成する2つの Char オブジェクトによって表されます。However, some numbers in the Unicode standard are represented by two Char objects that form a surrogate pair. たとえば、Aegean ナンバリングシステムは、コードポイント U + 10107 から U + 10133 で構成されます。For example, the Aegean numbering system consists of code points U+10107 through U+10133. 次の例では、ConvertFromUtf32 メソッドを使用して、AEGEAN NUMBER ONE を表す文字列をインスタンス化します。The following example uses the ConvertFromUtf32 method to instantiate a string that represents AEGEAN NUMBER ONE. この例の出力が示すように、IsNumber(Char) メソッドは、この文字の上位サロゲートまたは下位サロゲートのいずれかが渡された場合に false を返します。As the output from the example shows, the IsNumber(Char) method returns false if it is passed either a high surrogate or a low surrogate of this character.

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
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)

指定した文字列の指定位置にある文字が数字かどうかを示します。Indicates whether the character at the specified position in a specified string is categorized as a number.

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

文字列。A string.

index
Int32

s 内の評価する文字の位置。The position of the character to evaluate in s.

戻り値

Boolean

sindex の位置にある文字が数字である場合は true。それ以外の場合は falsetrue if the character at position index in s is a number; otherwise, false.

例外

snull です。s is null.

index が 0 未満の値か、s の最後の位置より大きい値です。index is less than zero or greater than the last position in s.

次の例は IsNumberを示しています。The following example demonstrates 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"
    }
}
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 カテゴリであるかどうかを判断します。This method determines whether a Char is of any numeric Unicode category. 数字に加え、数字、分数、添字、上付き文字、ローマ数字、通貨分子、encircled 番号などが含まれます。In addition to including digits, numbers include characters, fractions, subscripts, superscripts, Roman numerals, currency numerators, and encircled numbers. このメソッドは、Char が基数10の数字であるかどうかを判断する IsDigit メソッドとは対照的です。This method contrasts with the IsDigit method, which determines whether a Char is a radix-10 digit.

文字列内の文字位置は0から始まるインデックスが作成されます。Character positions in a string are indexed starting from zero.

重要

IsNumber(String, Int32) メソッドは、文字列が数字で構成されているかどうかを判断するためのものではありません (たとえば、文字列内の各文字に対してメソッドを呼び出すことによって)。The IsNumber(String, Int32) method is not intended to determine whether a string consists of numeric characters (for example, by calling the method for each character in a string). 文字列が数値で構成されているかどうかを判断するには、TryParse メソッドのいずれかのオーバーロードを呼び出します (Int32.TryParse、整数型または浮動小数点型の Double.TryParse など)。To determine whether a string consists of numeric characters, call one of the overloads of the TryParse method (such as Int32.TryParse or Double.TryParse of an integral or floating point type.

有効な数値は、UnicodeCategory.DecimalDigitNumberUnicodeCategory.LetterNumber、または UnicodeCategory.OtherNumber カテゴリのメンバーです。Valid numbers are members of the UnicodeCategory.DecimalDigitNumber, UnicodeCategory.LetterNumber, or UnicodeCategory.OtherNumber category.

index 位置にある Char オブジェクトが有効なサロゲートペアの最初の文字である場合、IsNumber(String, Int32) メソッドは、サロゲートペアが数字を形成するかどうかを判断します。If the Char object at position index is the first character of a valid surrogate pair, the IsNumber(String, Int32) method determines whether the surrogate pair forms a numeric digit. たとえば、Aegean ナンバリングシステムは、コードポイント U + 10107 から U + 10133 で構成されます。For example, the Aegean numbering system consists of code points U+10107 through U+10133. 次の例では、ConvertFromUtf32 メソッドを使用して、AEGEAN NUMBER ONE を表す文字列をインスタンス化します。The following example uses the ConvertFromUtf32 method to instantiate a string that represents AEGEAN NUMBER ONE. この例の出力が示すように、IsNumber(String, Int32) メソッドは、AEGEAN NUMBER の上位サロゲートが渡された場合に true を返します。As the output from the example shows, the IsNumber(String, Int32) method returns true if it is passed the high surrogate of AEGEAN NUMBER ONE. ただし、下位サロゲートを渡すと、下位サロゲートのカテゴリのみが考慮され、falseが返されます。However, if it is passed the low surrogate, it considers only the category of the low surrogate and returns 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
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

こちらもご覧ください

適用対象