今回はCInt関数で数字の文字列をInteger型の数値に変換する方法をご説明します。
文字列を数値に変換する関数は色々ありますが、今回ご紹介するCInt関数は型をInteger型に指定して数値に変換します。
Integer型は整数型(-32,768~32,767)の数値型になります。
小数点以下は扱えません。
データを処理しようとした場合に、文字列の数字が含まれていると演算などでエラーとなってしまいますので、事前に変換する事でエラー回避出来ます。
その他の数値へ変換する方法は下記記事をご覧ください。
- Val関数で文字列を数値に変換する方法
- CDbl関数で文字列をDouble型の数値に変換する
- CSng関数で文字列をSingle型の数値に変換する
- CLng関数で文字列をLong型の数値に変換する
- CDec関数で文字列をDecimal型(10進数)の数値に変換する
- 文字列の大文字と小文字、全角と半角を変換する方法
1.CInt関数の使い方
指定した文字列をCInt関数は型をInteger型に指定して数値に変換します。
構文は次のように記述します。
CInt(値)
値には任意の文字列式または数式を指定します。
値がInteger型に変換できない場合はエラーとなります。
データ型の範囲を超える場合オーバーフローでエラーとなりますので、ご注意ください。
小数部は、整数に丸められます。
小数部分がちょうど 0.5 のとき、常に最も近い偶数に値を丸めます。
「\」、「,」が含まれていても変換可能です。
また、数式の計算結果も数値化出来ますし、全角の数字も変換可能です。
日付を指定した場合は、シリアル値がデータ範囲を超えるためエラーとなります。
Val関数は「,」カンマが含まれた数字は「,」の前までしか数値に変換できませんが、CInt関数は「,」も含めて数値に変換可能です。
2.サンプルコード
「\」や「,」も変換可能です。
※サンプルコードの一番上は「\1,000」です。
Sub Sample1()
Debug.Print CInt("\1,000") '1000に変換
Debug.Print CInt("5000") '5000に変換
Debug.Print CInt("124.5") '124に変換
Debug.Print CInt("123.5") '124に変換
Debug.Print CInt("12345") '12345に変換
Debug.Print CInt(10 / 3) '3に変換
End Sub