Conversion.Val メソッド

定義

文字列に含まれる数値を、適切なデータ型の数値で返します。

オーバーロード

名前 説明
Val(Object)

文字列に含まれる数値を、適切なデータ型の数値で返します。

Val(Char)

文字列に含まれる数値を、適切なデータ型の数値で返します。

Val(String)

文字列に含まれる数値を、適切なデータ型の数値で返します。

Val(Object)

文字列に含まれる数値を、適切なデータ型の数値で返します。

public:
 static double Val(System::Object ^ Expression);
public static double Val(object Expression);
static member Val : obj -> double
Public Function Val (Expression As Object) As Double

パラメーター

Expression
Object

必須。 有効な String 式、 Object 変数、または Char 値。 ExpressionObject型の場合、その値をStringに変換できる必要があります。そうしないと、ArgumentException エラーが発生します。

返品

文字列に含まれる数値を適切な型の数値として指定します。

例外

InputStr が大きすぎます。

Expressionは、Stringに変換できないObject型式です。

次の例では、 Val 関数を使用して、各文字列に含まれる数値を返します。 Val は、数字、数値修飾子、数値句読点、または空白として解釈できない最初の文字での変換を停止します。

Dim valResult As Double
' The following line of code sets valResult to 2457.
valResult = Val("2457")
' The following line of code sets valResult to 2457.
valResult = Val(" 2 45 7")
' The following line of code sets valResult to 24.
valResult = Val("24 and 57")

注釈

Val関数は、数値の一部として認識できない最初の文字で文字列の読み取りを停止します。 数値の一部と見なされることが多い記号や文字 (ドル記号、コンマなど) は、認識されません。 ただし、関数は、(8 進数の場合) と &O (16 進数の場合) &H基数プレフィックスを認識します。 引数から空白、タブ、および改行文字が削除されます。

次の呼び出しは、1234123値を返します。

Val(" 1234 123th Street N.E.")

次の呼び出しは、10 進値 -1 を返します。

Val("&HFFFF")

Note

Val関数は、ピリオド (.) のみを有効な小数点区切り記号として認識します。 国際アプリケーションのように、他の小数点区切り記号を使用する場合は、代わりに CDbl または CInt を使用して文字列を数値に変換します。 特定のカルチャ内の数値の文字列形式を数値に変換するには、数値型の Parse(String, IFormatProvider) メソッドを使用します。 たとえば、文字列をDoubleに変換するときにDouble.Parseを使用します。

Note

一般的でない特定の数値形式に応答して、 InvalidCastException 例外がスローされる場合があります。 たとえば、次のコードではこの例外が発生します。

' These examples cause run-time errors.

'Console.WriteLine(Val("1.34%"))

'Console.WriteLine(Val("1.34&"))

Doubleとして書式設定された数値とIntegerLong型の文字の間の競合は、競合が文字列に含まれていない場合にコンパイラによってキャッチされます。

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

こちらもご覧ください

適用対象

Val(Char)

文字列に含まれる数値を、適切なデータ型の数値で返します。

public:
 static int Val(char Expression);
public static int Val(char Expression);
static member Val : char -> int
Public Function Val (Expression As Char) As Integer

パラメーター

Expression
Char

必須。 有効な String 式、 Object 変数、または Char 値。 ExpressionObject型の場合、その値をStringに変換できる必要があります。そうしないと、ArgumentException エラーが発生します。

返品

文字列に含まれる数値を適切な型の数値として指定します。

例外

InputStr が大きすぎます。

Expressionは、Stringに変換できないObject型式です。

次の例では、 Val 関数を使用して、各文字列に含まれる数値を返します。 Val は、数字、数値修飾子、数値句読点、または空白として解釈できない最初の文字での変換を停止します。

Dim valResult As Double
' The following line of code sets valResult to 2457.
valResult = Val("2457")
' The following line of code sets valResult to 2457.
valResult = Val(" 2 45 7")
' The following line of code sets valResult to 24.
valResult = Val("24 and 57")

注釈

Val関数は、数値の一部として認識できない最初の文字で文字列の読み取りを停止します。 数値の一部と見なされることが多い記号や文字 (ドル記号、コンマなど) は、認識されません。 ただし、関数は、(8 進数の場合) と &O (16 進数の場合) &H基数プレフィックスを認識します。 空白、タブ、およびライン フィード文字は、引数から削除されます。

次の呼び出しは、1615198値を返します。

Val(" 1615 198th Street N.E.")

次の呼び出しは、10 進値 -1 を返します。

Val("&HFFFF")

Note

Val関数は、ピリオド (.) のみを有効な小数点区切り記号として認識します。 国際アプリケーションと同様に、異なる小数点区切り記号を使用する場合は、代わりに CDbl または CInt を使用して文字列を数値に変換します。 特定のカルチャ内の数値の文字列形式を数値に変換するには、数値型の Parse(String, IFormatProvider) メソッドを使用します。 たとえば、文字列をDoubleに変換するときにDouble.Parseを使用します。

一般的でない特定の数値形式に応答して、 InvalidCastException 例外がスローされる場合があります。 たとえば、次のコードではこの例外が発生します。

' These examples cause run-time errors.
Console.WriteLine(Val("1.34%"))
Console.WriteLine(Val("1.34&"))

Doubleとして書式設定された数値と、文字列に含まれていない場合、Integer文字とLong型文字の間の競合がコンパイラによってキャッチされます。

' These examples cause compiler errors.
Dim m = 1.34%
Dim n = 1.34&

こちらもご覧ください

適用対象

Val(String)

文字列に含まれる数値を、適切なデータ型の数値で返します。

public:
 static double Val(System::String ^ InputStr);
public static double Val(string InputStr);
static member Val : string -> double
Public Function Val (InputStr As String) As Double

パラメーター

InputStr
String

必須。 有効な String 式、 Object 変数、または Char 値。 ExpressionObject型の場合、その値をStringに変換できる必要があります。そうしないと、ArgumentException エラーが発生します。

返品

文字列に含まれる数値を適切な型の数値として指定します。

例外

InputStr が大きすぎます。

Expressionは、Stringに変換できないObject型式です。

次の例では、 Val 関数を使用して、各文字列に含まれる数値を返します。 Val は、数字、数値修飾子、数値句読点、または空白として解釈できない最初の文字での変換を停止します。

Dim valResult As Double
' The following line of code sets valResult to 2457.
valResult = Val("2457")
' The following line of code sets valResult to 2457.
valResult = Val(" 2 45 7")
' The following line of code sets valResult to 24.
valResult = Val("24 and 57")

注釈

Val関数は、数値の一部として認識できない最初の文字で文字列の読み取りを停止します。 数値の一部と見なされることが多い記号や文字 (ドル記号、コンマなど) は、認識されません。 ただし、関数は、(8 進数の場合) と &O (16 進数の場合) &H基数プレフィックスを認識します。 引数から空白、タブ、および改行文字が削除されます。

次の呼び出しは、1234123値を返します。

Val(" 1234 123th Street N.E.")

次の呼び出しは、10 進値 -1 を返します。

Val("&HFFFF")

Note

Val関数は、ピリオド (.) のみを有効な小数点区切り記号として認識します。 国際アプリケーションのように、他の小数点区切り記号を使用する場合は、代わりに CDbl または CInt を使用して文字列を数値に変換します。 特定のカルチャ内の数値の文字列形式を数値に変換するには、数値型の Parse(String, IFormatProvider) メソッドを使用します。 たとえば、文字列をDoubleに変換するときにDouble.Parseを使用します。

Note

一般的でない特定の数値形式に応じて、 InvalidCastException 例外が発生する可能性があります。 たとえば、次のコードではこの例外が発生します。

' These examples cause run-time errors.

'Console.WriteLine(Val("1.34%"))

'Console.WriteLine(Val("1.34&"))

Doubleとして書式設定された数値とIntegerLong型の文字の間の競合は、競合が文字列に含まれていない場合にコンパイラによってキャッチされます。

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

こちらもご覧ください

適用対象