データ型変換関数

各関数によって、式を特定のデータ型に変換します。

構文

CBool(expression)

CByte(expression)

CCur(expression)

CDate(expression)

CDbl(expression)

CDec(expression)

CInt(expression)

CLng(expression)

CSng(expression)

CStr(expression)

CVar(expression)

引数expression は必ず指定します。任意の文字列式または数値式を指定します。

戻り値の型

次に示すように、戻り値の型は関数名によって異なります。

関数

戻り値の型

引数 expression の範囲

CBool

ブール型 (Boolean)

任意の有効な文字列式または数式。

CByte

バイト型

0 ~ 255。

CCur

通貨型

-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807。

CDate

日付型

任意の有効な日付式。

CDbl

倍精度浮動小数点型

-1.79769313486231E308 ~
-4.94065645841247E-324 (負の値)。4.94065645841247E-324 ~ 1.79769313486232E308 (正の値)。

CDec

Decimal/10 進型

小数点以下の桁数が 0 の場合 (小数部分を持たない場合)、+/-79,228,162,514,264,337,593,543,950,335。小数点以下の桁数が 28 桁の場合、
+/-7.9228162514264337593543950335。最小値は、0 を除いた場合は、0.0000000000000000000000000001。

CInt

整数型 (Integer)

-32,768 ~ 32,767。小数点以下は四捨五入されます。

CLng

長整数型 (Long)

-2,147,483,648 ~ 2,147,483,647。小数点以下は四捨五入されます。

CSng

単精度浮動小数点型

-3.402823E38 ~ -1.401298E-45 (負の値)。1.401298E-45 ~ 3.402823E38 (正の値)。

CStr

文字列型 (String)

CStr の戻り値は引数 expression に依存します。

CVar

バリアント型

数値の場合は倍精度浮動小数点型の範囲と同じ。数値以外の場合は文字列型の範囲と同じ。


解説

関数に渡された expression が、変換されるデータ型の範囲外である場合は、エラーが発生します。

一般に、既定のデータ型ではなく、特定のデータ型で操作結果を表す必要がある場合に、データ型変換関数を使用してコードを記述します。たとえば、単精度、倍精度、または整数で計算を行うような場合に、CCur 関数を使用して通貨の演算を強制的に行います。

各国の言語に対応するようにあるデータ型から別のデータ型に変換するには、Val の代わりにデータ型変換関数を使用する必要があります。たとえば、CCur 関数を使用すると、異なる小数点の記号と 1,000 単位の区切り記号、およびさまざまな通貨記号がコンピュータのロケール設定に応じて正しく認識されます。

小数点以下が 0.5 ちょうどの場合、CInt 関数および CLng 関数では常に最も近い偶数に切り捨てまたは切り上げられます。たとえば、0.5 の場合は 0、1.5 の場合は 2 となります。CInt 関数および CLng 関数は、Fix 関数および Int 関数と異なり、数値の小数点以下は常に切り捨てられます。また、Fix 関数および Int 関数では、渡された値と同じデータ型で値が常に返されます。

IsDate 関数を使用すると、date が日付または時刻に変換できるかどうかを判断できます。CDate 関数では、日付リテラル、時刻リテラル、および有効な日付の範囲に該当する数値を認識します。数値を日付に変換する場合は、整数部が日付に変換されます。小数点以下の値は、午前 0 時から始まる時刻に変換されます。

CDate 関数では、システムのロケール設定に基づいて日付の形式が認識されます。認識できない日付の形式が設定されている場合、年、月、および日の正しい順序を判断できないことがあります。また、曜日を表す文字列を含む長い日付形式も認識できません。

Visual Basic の以前のバージョンとの互換性を保つため、CVDate 関数も用意されています。CVDate 関数の構文は CDate 関数と同じです。CVDate では、実際の日付型ではなく、サブタイプが日付型であるバリアント型が返されます。現在では組み込み日付型が用意されているので、CVDate 関数は今後必要なくなります。式を日付型に変換し、バリアント型に割り当てても、CVDate 関数と同じ戻り値を得ることができます。他の組み込みデータ型を対応するバリアント型サブタイプに変換する場合も、同じ方法で変換します。

  CDec 関数は独立したデータ型を返しません。値が 10 進型サブタイプに変換された、バリアント型を常に返します。

使用例

  次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。VBA の使用方法の詳細については、[検索] の横にある一覧の [開発者用リファレンス] をクリックし、検索ボックスに検索する語句を入力してください。

CBool 関数

この例では、CBool 関数を使用して式をブール型に変換します。式が 0 以外の値に評価される場合、CBoolTrue を返し、0 に評価される場合は False を返します。

Dim A, B, Check
A = 5: B = 5 ' 変数を初期化します。
Check = CBool(A = B) ' Check に True が代入されます。
A = 0 ' 変数を定義します。
Check = CBool(A) ' Check に False が代入されます。

CByte 関数

この例では、CByte 関数を使用して式をバイト型に変換します。

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble は倍精度浮動小数点型です。
MyByte = CByte(MyDouble) ' MyByte に 126 が代入されます。

CCur 関数

この例では、CCur 関数を使用して式を通貨型に変換します。

Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble は倍精度浮動小数点型です。
MyCurr = CCur(MyDouble * 2)
' MyDouble * 2 の結果 (1086.429176) を
' 通貨型 (1086.4292) に変換します。

CDate 関数

この例では、CDate 関数を使用して文字列を日付型に変換します。通常、ハードコーディングされた日付と時刻を文字列として使用することは推奨されません (この例に示します)。代わりに、#2/12/1969# や #4:45:23 PM# などの日付リテラルおよび時刻リテラルを使用してください。

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' 日付データ型に変換します。
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' 日付データ型に変換します。
MyShortTime = CDate(MyTime)

CDbl 関数

この例では、CDbl 関数を使用して式を倍精度浮動小数点型に変換します。

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' 計算結果を倍精度浮動小数点型に変換します。
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

CDec 関数

この例では、CDec 関数を使用して数値を 10 進型に変換します。

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr は通貨型です。
MyDecimal = CDec(MyCurr) ' MyDecimal は 10 進型です。

CInt 関数

この例では、CInt 関数を使用して値を整数型に変換します。

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble は倍精度浮動小数点型です。
MyInt = CInt(MyDouble) ' MyInt に 2346 が代入されます。

CLng 関数

この例では、CLng 関数を使用して値を長整数型に変換します。

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1 と MyVal2 は倍精度浮動小数点型です。
MyLong1 = CLng(MyVal1)
' MyLong1 に 25427 が代入されます。
MyLong2 = CLng(MyVal2)
' MyLong2 に 25428 が代入されます。

CSng 関数

この例では、CSng 関数を使用して値を単精度浮動小数点型に変換します。

Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1 と MyDouble2 は倍精度浮動小数点型です。
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 に 75.34211 が代入されます。
MySingle2 = CSng(MyDouble2)
' MySingle2 に 75.34216 が代入されます。

CStr 関数

この例では、CStr 関数を使用して数値を文字列型に変換します。

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble は倍精度浮動小数点型です。
MyString = CStr(MyDouble)
' MyString に 437.324 が代入されます。

CVar 関数

この例では、CVar 関数を使用して式をバリアント型に変換します。

Dim MyInt, MyVar
MyInt = 4534 ' MyInt は整数型です。
MyVar = CVar(MyInt & "000")
' MyVar に文字列の 4534000 が代入されます。

適用対象: Access 2007, Access 2010



この情報は役に立ちましたか?

はい いいえ

どのようにしたら改善できるでしょうか?

255 残りの文字数

お客様のプライバシーを保護するため、フィードバックには連絡先情報を含めないでください。 レビューしてください プライバシー ポリシー

ご意見をいただきありがとうございます。

サポート リソース

言語の変更