定数を宣言する [VB]

Const を使えば修正は1箇所

コメントの書き方
文字列の改行
プログラムを次行に継続する
Const 定数の宣言
型文字 $ % & ! # @
標準数値書式
カスタム数値書式
Option Strict On
ビルドエラーの修正

プログラム内で使う値が一定で変わらない数値や文字列は、Const ステートメントを使って、固定値として宣言することができ、後から変更することはできません。

Constステートメントの宣言は、プログラムの先頭にするのが普通です。また、定数名はすべて大文字で使うのが一般的です。

  Const ZEIRITSU As Double = 0.08

プログラム内で使う値が一定で変わることが無い場合には、一度定数を宣言して、値を設定(初期化)すると、必要なところで何度でも定数名を使ってプログラムを書くことができます。分かりやすい名前を付ければ、分かりやすいプログラムを書くことができます。

Const を使えば、定数値を変更する必要があるとき、1箇所の修正で済み、修正漏れを防げるので、エラーを減らすことができます。

定数名はすべて大文字

Constステートメントを使って、定数値の宣言と同時に、値も設定します。

  Const ZEIRITSU As Double = 0.08

税込価格を計算する例

  200 * (1 + ZEIRITSU)

Const ステートメントを Sub Main()の外側で宣言することもできます。たとえば、次のように宣言すると、Sub Main()の中でも、関数の中でも使うことができます。

できるだけ広い範囲で使用できるように宣言すれば、何箇所もConst を書かなくてすみます。

Module Module1

  ' 定数の宣言
  Const ZEIRITSU As Double = 0.08

  Sub Main()
      ............
  End Sub

  '*************************************
  ' 機能:○○する関数
  '******1*********2*********3*********4
  Public Function Fx() As Double
     .................
  End Function

End Module

もちろん Sub Main()の中でも、宣言できますが、この場合の有効範囲は、Sub Main()の中だけになるので、Public Function Fx() の中では、ZEIRITSU は使えません。

Constを使ったサンプル

PR

消費税率に定数を使ったサンプルです。キーボードから複数の商品の価格を入力すると、商品ごとの税込価格と、税込合計額を計算するプログラムを作成します。

税込価格を計算する関数の消費税率にConst ステートメントを使います。

ソースリストの枠内をクリックすると全選択できます。

Module Module1

  ' 定数の宣言
  Const ZEIRITSU As Double = 0.08

  Sub Main()
      ' 変数の宣言
      Dim inStr As String
      Dim nedan As Integer = 0
      Dim zeikomi As Double = 0
      Dim goukei As Integer = 0

      Console.WriteLine("[ 税込金額を計算する ]")
      Console.Write("消費税率は")
      Console.Write(ZEIRITSU * 100)  ' ★ここで使用
      Console.WriteLine("%です")

      ' 商品価格を入力して、税込価格を求める
      Do
        Console.WriteLine()    ' 改行
        Console.WriteLine("* 価格を入力して下さい *")
        ' キーボードから入力
        inStr = Console.ReadLine()
        ' 入力した文字列を整数に変換
        nedan = Integer.Parse(inStr)
        ' 入力値が0以下なら Do Loopを抜ける
         If nedan > 0 Then
            ' 税込価格を関数を使って計算
            zeikomi = CalucZeikomi(nedan)
            ' 税込合計額を計算
            goukei = goukei + zeikomi
        Else
            Console.WriteLine("入力終了")
            Exit Do
        End If
      Loop

      ' 税込合計金額を表示
      Console.WriteLine()    ' 改行
      Console.WriteLine("--------------------")
      Console.Write("税込合計金額は、")
      Console.Write(goukei)
      Console.WriteLine("円です")
  End Sub

  '***********************************************
  ' 機能:税込価格を計算する関数
  ' 引数:商品価格
  ' 戻値:税込価格
  '******1*********2*********3*********4*********5
  Public Function CalucZeikomi(ByVal kakaku As Integer) As Double

      Dim retZeikomi As Double = 0    'リターン値

      ' 税込価格を定数を使って計算
      retZeikomi = kakaku * (1 + ZEIRITSU)    ' ★ここで使用
      ' ◆戻値を設定してリターン
      Return retZeikomi

  End Function

End Module

注意:消費税率は今後何度も変更されます。実務ではデータベースに税率と有効期間を登録して、プログラムを修正しないで済むように作成します。