Option Strict On [VB]

Visual Basic 文法[2015 2013 2012]

先頭行に Option Strict On を追加しましょう

プログラムの先頭行に Option Strict On を追加すると、型の異なった数値の型に代入する演算をすると、エラーになることがあります。

たとえば、整数と実数の演算結果を整数型変数に代入する演算は、構文エラー(ソースリストに波線が付く)になり、プログラムを実行することができません。

縮小変換に注意

Option Strict On を先頭行に追加して、簡単なプログラムを作成して勉強します。

次の例では、1.25 + 2 の計算結果を整数変数に代入しているので、エラーになります。これは、1 + 1.25 の演算結果 2.25の実数になりますが、演算結果を整数変数に代入したので、小数部分が整数変数に収めることができず、エラーになります。

Option Strict On

もし、Option Strict を書かないと、データの一部が収まらない可能性がある変換(縮小変換)を自動的に行い、データの一部が欠落する可能性があります。その結果、誤差を含んだまま演算することになります。

上の例のように、Option Strict On にすれば、構文エラーになり、暗黙の縮小変換はできません。業務用のプログラムを作成するときは、Option Strict On にするのが普通です。

エラーがないプログラムにするためには、整数変数 anser や、実数変数 anser に変更します。

Option Strict On

Module Module1

  Sub Main()
     Dim anser As Double = 0.0
     Dim real As Double = 1.25

     anser = real + 2
  End Sub

End Module

逆に、変換した後のデータが、すべて収まるデータ型に変換することを、拡大変換といいます。拡大変換の場合は、データが失われることはありません。

したがって、Option Strict On にしていても、たとえば、整数値を実数型変数への代入のケースでは、エラーになりません。

【注意】数値を記述すときに、ひとつ注意することがあります。0 や 1 と書けば整数、0.0 や 1.0 のように、整数に小数点を付けて書けば実数になります。

次の例では、1 + 2.0 の演算結果は実数なので、整数変数に代入するとエラーになります。1 + 2 と書けば、整数演算になるのでエラーにはなりません。

Option Strict On

[広告]