前提・疑問
初めて質問させていただきます
プログラミングを始めて2~3ヵ月ほどの初心者でVB.NETが初めての言語になります。
会社で電卓の課題が出て制作しました。
(win10に付属しているようなログが表示されるタイプの電卓です。)
電卓は問題なく動いたのですが、報告したところ
btnResult_Click の
VB.NET
1lblAnser.Text = CDec(keep) + CDec(no)
を
VB.NET
1Trim(CDec(CDec(keep) + CDec(no)).ToString) 2
のように文字列にして空白処理をしたほうがいいとご指摘されました。
先輩に事前に見本をつくって頂いてそれを元に作成したのですが、
確かに何か所かTrimが使用されているのは見かけました。(.ToStringは使用されていませんでした。)
そこで疑問です。
・文字列にする必要があるのか
・btnResult_Clickのみを文字列に直す必要があるのか
・この場面で空白処理をするのはどうしてか
の3点が気になりました。
もしわかる方がおられましたら教えてください。
よろしくお願いいたします。
該当のソースコード
VB.NET
1'+の処理 2 Private Sub btnplus_Click(sender As Object, e As EventArgs) Handles btnplus.Click 3 If door = False Then 4 no = lblAnser.Text 5 If no = "0" Then 6 ElseIf lblLog.Text = "" Then 7 keep = no 8 lblLog.Text = no & "+" 9 no = "0" 10 ElseIf sym = "-" Then 11 lblAnser.Text = CDec(keep) - CDec(no) 12 keep = lblAnser.Text 13 lblLog.Text = lblLog.Text & no & "+" 14 no = "0" 15 ElseIf sym = "*" Then 16 lblAnser.Text = CDec(keep) * CDec(no) 17 keep = lblAnser.Text 18 lblLog.Text = lblLog.Text & no & "+" 19 no = "0" 20 ElseIf sym = "/" Then 21 lblAnser.Text = CDec(keep) / CDec(no) 22 keep = lblAnser.Text 23 lblLog.Text = lblLog.Text & no & "+" 24 no = "0" 25 Else 26 lblAnser.Text = CDec(keep) + CDec(no) 27 keep = lblAnser.Text 28 lblLog.Text = lblLog.Text & no & "+" 29 no = "0" 30 End If 31 End If 32 If door = True Then 33 lblLog.Text = Microsoft.VisualBasic.Left(lblLog.Text, Len(lblLog.Text) - 1) & "+" 34 End If 35 sym = "+" 36 door = True 37 End Sub 38
VB.NET
1'=の処理 2 Private Sub btnResult_Click(sender As Object, e As EventArgs) Handles btnResult.Click 3 If door = False Then 4 no = lblAnser.Text 5 If no = "0" Then 6 ElseIf sym = "+" Then 7 lblAnser.Text = CDec(keep) + CDec(no) 8 keep = lblAnser.Text 9 lblLog.Text = lblLog.Text & no & "=" 10 no = "0" 11 door = True 12 ElseIf sym = "-" Then 13 lblAnser.Text = CDec(keep) - CDec(no) 14 keep = lblAnser.Text 15 lblLog.Text = lblLog.Text & no & "=" 16 no = "0" 17 door = True 18 ElseIf sym = "*" Then 19 lblAnser.Text = CDec(keep) * CDec(no) 20 keep = lblAnser.Text 21 lblLog.Text = lblLog.Text & no & "=" 22 no = "0" 23 door = True 24 ElseIf sym = "/" Then 25 lblAnser.Text = CDec(keep) / CDec(no) 26 keep = lblAnser.Text 27 lblLog.Text = lblLog.Text & no & "=" 28 no = "0" 29 door = True 30 ElseIf door = True Then 31 sym = "=" 32 End If 33 End If 34 If door = True Then 35 lblLog.Text = Microsoft.VisualBasic.Left(lblLog.Text, Len(lblLog.Text) - 1) & "=" 36 End If 37 38 End Sub
回答2件
あなたの回答
tips
プレビュー