none
VBの複数の変数における最小値と最大値を求める方法について RRS feed

  • 質問

  • XC2, XH2, XN2などの複数の変数から最小値や最大値を求める方法について教えてもらえませんか?

    ・・・・・・・・・・・・・・・・・・・

    Dim XN1 as single

    Dim XN2 as single

    XN1 = ((14.01 * Val(TextBox3.Text) * 100) / (18.016 * (TextBox12.Text) - 0.3)) - ((12.01 * (TextBox1.Text) + 1.008 * (TextBox2.Text) + 14.01 * (TextBox3.Text) + 16.0 * (TextBox4.Text) + 19.0 * (TextBox5.Text) + 35.45 * (TextBox6.Text) + 79.9 * (TextBox7.Text) + 129.6 * (TextBox8.Text) + 30.97 * (TextBox9.Text) + 32.07 * (TextBox10.Text)) / 18.016)
      XN2 = ((14.01 * Val(TextBox3.Text) * 100) / (18.016 * (TextBox12.Text) + 0.3)) - ((12.01 * (TextBox1.Text) + 1.008 * (TextBox2.Text) + 14.01 * (TextBox3.Text) + 16.0 * (TextBox4.Text) + 19.0 * (TextBox5.Text) + 35.45 * (TextBox6.Text) + 79.9 * (TextBox7.Text) + 129.6 * (TextBox8.Text) + 30.97 * (TextBox9.Text) + 32.07 * (TextBox10.Text)) / 18.016)

      Dim L As Single
      Dim R As Single

      L = Math.Min(XC2, XH2, XN2)
      R = Math.Max(XC1, XH1, XN1)
    ’別のモジュールのプログラム起動
      Label15.Text = Compute(L, R).ToString()

    という感じで動かしたいです。

    2019年5月21日 8:42

すべての返信

  • Mathを使った場合

    Dim L As Single = Math.Min(XC2, Math.Min(XH2, XN2))
    Dim R As Single = Math.Max(XC1, Math.Max(XH1, XN1))

    Linqを使った場合

    Dim L As Single = New Single() {XC2, XH2, XN2}.Min()
    Dim R As Single = New Single() {XC1, XH1, XN1}.Max()


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2019年5月21日 9:24
  • 丁寧なご回答ありがとうございました。違う質問になりますが、条件分岐させたいときに

    If Val(TextBox11) > 0.3 Then

    とおくと、引数expressionは型TextBoxに変換できませんとエラーが出るのですが、

    良い対処方法教えてもらえませんか?


    2019年5月21日 11:38
  • TextBox11.Text

    ではないですか?

    2019年5月21日 11:48
  • 本当ですね、酷い凡ミスでした。ありがとうございました。
    2019年5月22日 1:32