VBScriptで、文字列を数値に変換する関数である「CInt」「CLng」の使い方を解説します。
CIntとCLngの違い
まずは、CIntとCLngの違いについて説明したいと思います。
この2つの関数の違いは、扱える数値の範囲です。
それぞれ、下記の範囲の数値が扱えます。
- CInt:-32768 ~ 32767
- CLng:-2147483648 ~ 2147483647
CIntとCLngの使い方
ここでは、それぞれの関数の使い方を説明します。
書式
CInt(変換したい文字列) CLng(変換したい文字列)
使用例
サンプルのソースコードです。
Option Explicit
' CIntで文字列を数値に変換
WScript.Echo(CInt("123"))
' CLngで文字列を数値に変換
WScript.Echo(CLng("789"))
実行結果
サンプルの実行結果です。
C:\workspace\VBScript>cscript //nologo sample.vbs 123 789
実行エラーの例
ここでは、実行時に発生するエラーについて説明します。
変換出来ない値を指定した場合
ひらがなや漢字など、数値に変換出来ない文字列を指定した場合のエラーです。
ここでは「秋拓技術学院」という文字列を変換する処理を試してみます。
Option Explicit ' CLngで文字列を数値に変換 WScript.Echo(CLng("秋拓技術学院"))
上記の実行結果です。
型が一致しないというエラーが発生します。
C:\workspace\VBScript>cscript //nologo sample.vbs C:\workspace\VBScript\sample.vbs(4, 1) Microsoft VBScript 実行時エラー: 型が一致しません。: 'CLng'
扱える範囲以外の値を指定した場合
扱える数値の範囲以外の値を指定した場合のエラーです。
ここでは「CInt」で「9999999999」を変換してみます。
Option Explicit ' CIntで文字列を数値に変換 WScript.Echo(CInt("9999999999"))
上記の実行結果です。
オーバーフローしましたというエラーが発生します。
C:\workspace\VBScript>cscript //nologo sample.vbs C:\workspace\VBScript\sample.vbs(4, 1) Microsoft VBScript 実行時エラー: オーバーフローしました。: 'CInt'
リンク
コメント