【VBScript】文字列を数値に変換する


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

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'

コメント

タイトルとURLをコピーしました