1

こんにちは、このコードでは、ダブルをラベルから変数に変換しようとしていますが、例外が発生します

「タイプ 'System.Windows.Forms.Label' のオブジェクトをタイプ 'System.IConvertible' にキャストできません。」

理由は"convert.toDouble(lblPricekey);"わかりません。

  private void btnAddtoTotal_Click(object sender, EventArgs e)
    {
        double numPadTotal;
        numPadTotal = Convert.ToDouble(lblPricekey.Text);

        double finalTotal = total + numPadTotal;
        txtTotal.Text = finalTotal.ToString();
    }
4

4 に答える 4

3

に変換Labelしていdoubleます。変換する必要がありLabel.Textます。

numPadTotal = Convert.ToDouble(lblPricekey.Text);
于 2013-01-12T20:31:15.823 に答える
2

試す:

private void btnAddtoTotal_Click(object sender, EventArgs e)
{
    double numPadTotal = Convert.ToDouble(lblPricekey.Text);

    double finalTotal = total + numPadTotal;
    txtTotal.Text = finalTotal.ToString();
}
于 2013-01-12T20:31:01.270 に答える
2

lblPricekeyのタイプですlabel。に変換することはできませんdouble。プロパティを使用Textして変換します。を表しstringます。から見てくださいMSDN

Label コントロールのテキスト コンテンツを取得または設定します。

このようにしてみてください。

numPadTotal = Convert.ToDouble(lblPricekey.Text);
于 2013-01-12T20:31:17.350 に答える
1

これを行う最善の方法は、TryParse メソッドを使用することです

            double numPadTotal;
            var IsDouble = double.TryParse(lblPricekey.Text, out numPadTotal);
            if (IsDouble)
            {
                double finalTotal = total + numPadTotal;
                txtTotal.Text = finalTotal.ToString();
            }
于 2013-01-12T20:37:36.877 に答える