木曜日, 8月 20, 2020

Visual Studio Basic_08 
簡易電卓と切り上げ切り捨て四捨五入

今回の電卓は、レイアウト設計のお復習いを兼ね、計算一発で加減乗除の結果が全て表示される電卓です。また、除算結果は切り上げ、切り捨て、四捨五入を選べるようにしました。

まず[TextBox]2つ、[Label]9つ、[Button]6つをレイアウトします。

最終的にそれぞれのパーツを上の用にリネイムします。[Label5]〜[Label8]はブランクです。なお、レイアウトにあたり、プロパティーでの必要最低限の機能を以下に整理しました。

[Label]は[配置>AutoSize]で[False]設定。パーツのサイズは[配置>Size]で調整。

パーツの背景色は[表示>BackColor]、パーツの枠設定は[表示>BackStyle]>
フォント指定は[Font]で、フォントサイズは[Font>Size]で調整。

パーツの表示文字は[Text]で、表示テキストの配置位置は[TextAlign]で調整。

デザインが完了したら[計算][C][↑][5/4][↓][AC]のボタンをそれぞれダブルクリックしてソースを記述します。

「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。

なお、切り上げ、四捨五入、切り下げ処理は以下の様になります。

切り上げ表示は[Math.Ceiling
TextBox1をTextBox2で除算した結果を切り上げ表示してLabel8に表示
Label8.Text = Math.Round(Val(TextBox1.Text) / Val(TextBox2.Text))

四捨五入表示は[Math.Round]
TextBox1をTextBox2で除算した結果を四捨五入表示してLabel8に表示
Label8.Text = Math.Round(Val(TextBox1.Text) / Val(TextBox2.Text))

切り下げ表示は[Math.Floor]
TextBox1をTextBox2で除算した結果を切り下げ表示してLabel8に表示
Label8.Text = Math.Floor(Val(TextBox1.Text) / Val(TextBox2.Text))

-----------------
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '[計算ボタン]で Label5には加算結果、 Label 6には減算結果、
        ' Label7には乗算結果、 Label8には除算結果を表示
        Label5.Text = Val(TextBox1.Text) + Val(TextBox2.Text)
        Label6.Text = Val(TextBox1.Text) - Val(TextBox2.Text)
        Label7.Text = Val(TextBox1.Text) * Val(TextBox2.Text)
        Label8.Text = Val(TextBox1.Text) / Val(TextBox2.Text)
    End Sub
-----------------
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
         '[Cボタン]でTextBox1とTextBox2をクリア
        TextBox1.ResetText()
        TextBox2.ResetText()
    End Sub
-----------------
    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
         '[ACボタン]でTextBox1とTextBox2、Label5〜Label8をクリア
        Label5.ResetText()
        Label6.ResetText()
        Label7.ResetText()
        Label8.ResetText()
        TextBox1.ResetText()
        TextBox2.ResetText()
    End Sub
-----------------
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        ' Label8の値を切り上げ表示
        Label8.Text = Math.Ceiling(Val(TextBox1.Text) / Val(TextBox2.Text))
    End Sub
-----------------
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        ' Label8の値を四捨五入表示
        Label8.Text = Math.Round(Val(TextBox1.Text) / Val(TextBox2.Text))
    End Sub
-----------------
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        ' Label8の値を切り下げ表示
        Label8.Text = Math.Floor(Val(TextBox1.Text) / Val(TextBox2.Text))
    End Sub
End Class
-----------------

Visual Studio Basic 2019