電子書籍の厳選無料作品が豊富!

vb.netでテキストボックスを2つ、ボタンとラベルを1つずつ用意し、
ボタンを押すと関数「 calcDivide」が割り算を行う(引数はInteger型を二つ使い、戻り値はDouble画型を使う)というコードを書いたのですが、割り算処理が行われません。
下記のコードでどこが間違っているかを教えてください。

Public Class Form1
Public Function calcDivide(ByVal no1 As Integer, ByVal no2 As Integer) As Double
Dim tb1 As Double
Dim tb2 As Double
TextBox1.Text = tb1
TextBox2.Text = tb2
Return tb1 / tb2
End Function

Private Sub Button1_Click(ByVal bsender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tb1 As Double
Dim tb2 As Double
calcDivide(tb1, tb2)
End Sub


End Class

質問者からの補足コメント

  • ご回答ありがとうございます。よろしければ、上記のコードをどう訂正すればよいのかを具体的に教えてください。

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/06/29 11:33

A 回答 (2件)

テキストボックスの1,2の内容を割り算するなら


引数はいりませんよ
tb1=textbox1.text
tb2=textbox2.text
というように変数に代入します。
ただし、てきすとぼっくすが数字でない場合の処理も必要です。
Dim tb1 As Double
Dim tb2 As Double
tb1 = IIf(IsNumeric(TextBox1.Text), CDbl(TextBox1.Text), 0)
tb2 = IIf(IsNumeric(TextBox2.Text), CDbl(TextBox2.Text), 0)
If tb2 <> 0 Then
Return tb1 / tb2
Else
'0除算
return 0
End If
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。現在、vb.netの演算問題を解いており、関数で除算することが条件なので、できればそのやり方を教えてほしいです。

お礼日時:2019/06/29 21:09

Button1_Clickで、tb1,tb2に値を入れてcalcDivideを呼んでない。


たとえ値を入れてからcalcDivideを呼んでいたとしても、計算結果を捨てている。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!