質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

1回答

4031閲覧

VB.net 電卓計算

ShinMutazono

総合スコア9

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2017/08/07 04:02

VB.netにて電卓作成をしているのですが、3つ追加したい機能があります。
→ ± 小数点の計算です

小数点の計算につきましては表示はできているのですが、+ - * /の機能に処理を書いていません

どう書いたらいいのか分からないので、分かる方いましたらお願いします。

Public Class Form2
'変数宣言
Private mode As String
Private taihi As String
Private cmd As String
Private hozon As String
Private Sub xyz()

If taihi = "" Then Return End If Dim a As Integer = Integer.Parse(taihi) Dim b As Integer = Integer.Parse(TextBox1.Text) If hozon = "" Then hozon = TextBox1.Text Else b = Integer.Parse(TextBox1.Text) End If Select Case mode Case "+" Dim intTotal As Integer = a + b TextBox1.Text = intTotal.ToString() Case "-" Dim inthiku As Integer = a - b TextBox1.Text = inthiku.ToString() Case "*" Dim intkakeru As Integer = a * b TextBox1.Text = intkakeru.ToString() Case "/" Dim intwaru As Integer = a \ b TextBox1.Text = intwaru.ToString() End Select End Sub Private Sub Keisan(Tasu As String) Select Case cmd Case "+", "-", "/", "*" TextBox1.Text = Tasu.ToString() cmd = "" Case Else If TextBox1.Text = "0" Then TextBox1.Text = Tasu.ToString() Else TextBox1.Text &= Tasu.ToString() End If End Select End Sub Private Sub BtnOne_Click(sender As Object, e As EventArgs) Handles btn1.Click Keisan("1") End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btn2.Click Keisan("2") End Sub '1~9のメソッド呼び出し Private Sub Button3_Click(sender As Object, e As EventArgs) Handles btn3.Click Keisan("3") End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles btn4.Click Keisan("4") End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles btn5.Click Keisan("5") End Sub Private Sub btn6_Click(sender As Object, e As EventArgs) Handles btn6.Click Keisan("6") End Sub Private Sub btn7_Click(sender As Object, e As EventArgs) Handles btn7.Click Keisan("7") End Sub Private Sub btn8_Click(sender As Object, e As EventArgs) Handles btn8.Click Keisan("8") End Sub Private Sub btn9_Click(sender As Object, e As EventArgs) Handles btn9.Click Keisan("9") End Sub Private Sub btn0_Click(sender As Object, e As EventArgs) Handles btn0.Click Keisan("0") End Sub Private Sub btn00_Click(sender As Object, e As EventArgs) Handles btn00.Click Keisan("00") End Sub Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load TextBox1.Text = "0" mode = "" cmd = "" taihi = "" End Sub Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click If TextBox1.Text >= "0" And Text <= "9" Then End If If TextBox1.Text = "C" Then End If End Sub '足し算の処理 Private Sub ButtonPlus_Click(sender As Object, e As EventArgs) Handles ButtonPlus.Click xyz() taihi = TextBox1.Text hozon = TextBox1.Text If TextBox1.Text = "0" Then taihi = TextBox1.Text TextBox1.Text = taihi Else hozon = TextBox1.Text End If cmd = "+" mode = "+" End Sub Private Function Geta() As Integer Throw New NotImplementedException() End Function Private Function d() As Object Throw New NotImplementedException() End Function Private Function Getope() As String End Function '少数の処理 Private Sub btnPoint_Click(sender As Object, e As EventArgs) Handles btnPoint.Click TextBox1.Text = $"{TextBox1.Text}." End Sub 'クリア Private Sub ButtonCancel_Click(sender As Object, e As EventArgs) Handles ButtonCancel.Click mode = "" cmd = "" hozon = "" taihi = "" TextBox1.Text = "0" End Sub '引き算の処理 Private Sub ButtonMinus_Click(sender As Object, e As EventArgs) Handles ButtonMinus.Click xyz() taihi = TextBox1.Text cmd = "-" mode = "-" End Sub 'イコール Private Sub ButtonEqual_Click(sender As Object, e As EventArgs) Handles ButtonEqual.Click xyz() End Sub Private Sub Form2_HandleDestroyed(sender As Object, e As EventArgs) Handles Me.HandleDestroyed End Sub '割り算 Private Sub ButtonDiv_Click(sender As Object, e As EventArgs) Handles ButtonDiv.Click xyz() taihi = TextBox1.Text cmd = "/" mode = "/" End Sub '掛け算 Private Sub ButtonMul_Click(sender As Object, e As EventArgs) Handles ButtonMul.Click xyz() taihi = TextBox1.Text cmd = "*" mode = "*" End Sub Private Sub ButtonSign_Click(sender As Object, e As EventArgs) Handles ButtonSign.Click End Sub

End Class

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Integerが整数の定義なので小数点に対応しないと思います。

Double型などを用いて少数に対応させれば計算できるとおもいますよ。

ちなみにコードについては以下の</>ってなっているボタンを押すか「```」で囲んでください。そのようにすることで、コードを見やすくすることができます。

VB.net

1 Private mode As String 2 Private taihi As String 3 Private cmd As String

投稿2017/08/07 04:10

Yuki_S

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問