CDec関数
CDec関数は、VBA関数の中でデータ型変換関数に分類される関数です。
目次
CDec関数とは
CDec関数は、式を特定のデータ型に変換します。
構文 | CDec(expression) | |
---|---|---|
引数 | 省略 | 説明 |
expression | × | 引数 expression には任意の文字列式または数式を指定します。 |
戻り値
戻り値のデータ型 | 引数 expression の範囲 |
---|---|
10 進型 (Decimal) | 小数点以下が 0 桁 (小数部分を持たない数値) の場合、-79,228,162,514,264,337,593,543,950,335 ~ 79,228,162,514,264,337,593,543,950,335。 小数点以下 28 桁の数値の場合、-7.9228162514264337593543950335 ~ 7.9228162514264337593543950335。絶対値の最小値は 0 を除いた場合、0.0000000000000000000000000001 です。 |
関数に渡された引数 expression の値が変換されるデータ型の範囲を超えている場合、エラーが発生します。通常、既定のデータ型ではなく、特定のデータ型で処理結果を表す必要がある場合に、データ型変換関数を使用してコードを記述します。たとえば、単精度、倍精度、または整数で計算を行うような場合に、CCur 関数を使用して通貨の演算を強制的に行います。
各国の言語に対応するようにあるデータから別のデータに変換する場合は、Val 関数の代わりにデータ型変換関数を使用します。たとえば CCur 関数を使用すると、異なる小数点記号と 1000 単位の区切り記号、およびさまざまな通貨記号がコンピュータの国別情報の設定に応じて正しく処理されます。
小数部分がちょうど 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 関数は日付型ではなく、内部処理形式が Date のバリアント型の値を返します。現在はデータ型として日付型が用意されているので、CVDate 関数は今後必要なくなります。日付型に式を変換し、バリアント型に割り当てることにより、CVDate 関数と同じ戻り値を得ることができます。他のデータ型をバリアント型の内部処理形式に変換する場合も、同じ方法で変換します。CDec 関数は独立したデータ型で値を返しません。常に内部処理形式 Decimal のバリアント型で値を返します。
CDec関数のサンプルコード
次の例は、CDec 関数を使って、数値を 10 進型に変換します。
Sub sample()
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr の値は通貨型です。
MyDecimal = CDec(MyCurr) ' MyDecimal の値は 10 進型になります。
End Sub
実行結果
解説
データ型変換関数一覧
関数名 | 内容 |
---|---|
CBool | 指定した式をブール型に変換します。 |
CByte | 指定した式をバイト型に変換します。 |
CCur | 指定した式を通貨型に変換します。 |
CDate | 指定した式を日付型に変換します。 |
CDbl | 指定した式を倍精度浮動小数点数型に変換します。 |
CDec | 指定した式を10進型に変換します。 |
CInt | 指定した式を整数型に変換します。 |
CLng | 指定した式を長整数型に変換します。 |
CSng | 指定した式を単精度浮動小数点数型に変換します。 |
CStr | 指定した式を文字列型に変換します。 |
CVar | 指定した式をバリアント型に変換します。 |
CVDate | 旧バージョンと互換を保つための関数で、バリアント型の日付を返します。 |
Int | 指定した数値の整数部分を抽出します。指定した数値が負の場合は、値を超えない最大の負の整数を抽出します。 |
IsDate | 式が日付に変換できるかどうかを調べた結果を返します。 |
IsEmpty | 変数がEmptyかどうかを調べた結果を返します。 |
IsMissing | プロシージャに省略可能なバリアント型の引数がわたされたかどうかを調べた結果を返します。 |
IsNumeric | 式にNull値が含まれているかどうかを調べた結果を返します。 |
IsObject | 変数がオブジェクト変数かどうかを調べた結果を返します。 |