-1

そのため、BMI 計算機で作業している間、計算セクションが機能していないようです。計算を完了するために必要な情報を含む 3 つのテキスト ボックスがあります。高さ (フィート)、高さ (インチ)、重量 (ポンド) です。

これが私のコードです。私の間違いは何ですか?

<form id="US" runat="server" visible="true">
   <div style="background-color:#4DB8FF; width:350px; height:300px; margin:auto; text-align:center; font-family:Arial">
        <h4>
            Body Mass Index Calculator 
            <asp:Button id="btnUS" runat="server" text="US" OnClick="btnUS_Click" /> 
            <asp:Button id="btnMetric" runat="server" Text="Metric" OnClick="btnMetric_Click" /> <br />

            <script runat="server">
                void btnUS_Click(object sender, EventArgs e)
                {
                    this.US.Visible = true;
                    this.Metric.Visible = false;
                }

                void btnMetric_Click(object sender, EventArgs e)
                {
                    this.US.Visible = false;
                    this.Metric.Visible = true;
                }

                void calcUS_Click(object sender, EventArgs e)
                {
                    string operand1 = heightus.Text;
                    string operand2 = heightus1.Text;
                    string operand3 = weightus.Text;

                    string bmi = resultus.Text;

                    double number;

                    bool isOperand1Number = Double.TryParse(operand1, out number);
                    bool isOperand2Number = Double.TryParse(operand2, out number);
                    bool isOperand3Number = Double.TryParse(operand3, out number);


                    if (isOperand1Number && isOperand2Number && isOperand3Number)
                    {
                        bmi = (((operand3 / ((operand1 * 12) + operand2) * (operand1 * 12) + operand2))) * 703);
                    }

                    else
                    {
                        Response.Write("Please type a numeric value into each of the text boxes.");
                    }
                }
            </script>
        </h4>

                  <asp:label ID="lbl1" Text="Height:" runat="server" />
                     <asp:TextBox ID="heightus" runat="server" />feet<br />
                     <asp:TextBox ID="heightus1" runat="server" />inch(es)<br />
                  <asp:Label ID="lbl2" Text="Weight:" runat="server" />
                     <asp:TextBox ID="weightus" runat="server" />lbs<br />
                <br />
                     <asp:Button ID="calcUS" Text="Calculate"  OnClick="calcUS_Click" runat="server" />
                     <asp:Button ID="clearUS" runat="server" Text="Clear"/> 
                <br /><br />
                  <asp:Label ID="lbl3" Text="Results:" runat="server" />
                     <asp:TextBox ID="resultus" runat="server" /> <br />


    </div>
</form>
4

1 に答える 1

0

isOperand1Number isOperand2Number および isOperand3Number ブール値を適切に初期化していないと思います。いくつかのデバッグ ステートメントを配置し、途中で結果を出力して、これがどこで失敗したかを確認します。

キャスト文字列 bmi,operand1,2,3 を整数に入力することもできます。それらを追加して計算しようとすると、文字列のままになります。

        bmi = (((operand3 / ((operand1 * 12) + operand2) * (operand1 * 12) + operand2))) * 703);
于 2013-03-13T19:13:17.200 に答える