无法将类型'decimal'隐式转换为'int'。存在显式转换(您是否错过了演员?)

时间:2015-03-26 10:57:50

标签: c#

我在C#中进行编码,我需要使用DecimalDouble值进行一些乘法,但是,我一直在标题中收到错误。

这是我的代码:

private void button1_Click(object sender, EventArgs e)
{
        try
        {
            int caloriesBurned;

            if (radioButtonMale.Checked == true)
            {
                Decimal textBoxInt = Convert.ToDecimal(textBox1.Text);
                Decimal maleusage = 0.44M;

                caloriesBurned = Decimal.Multiply(maleusage, textBoxInt);
            }
        }
        catch (Exception error)
        {
            MessageBox.Show(error.ToString());
            MessageBox.Show("Indtast venligst et tal");
            throw;
        }
    }
编辑:解决了!多谢你们!新手的错误。遗憾!

3 个答案:

答案 0 :(得分:1)

您可以将变量声明为十进制,如下所示:

decimal caloriesBurned;

答案 1 :(得分:0)

您想将decimal分配给int类型

caloriesBurned = Decimal.Multiply(maleusage, textBoxInt);

将上面的计算结果更改为十进制...

答案 2 :(得分:0)

您正在尝试将2个十进制变量相乘,然后尝试将该值设置为整数值,为此,您可以执行此操作:

caloriesBurned = Convert.ToInt32(Decimal.Multiply(maleusage, textBoxInt));

但这样做会导致,之后丢失所有数字,因此您可以通过caloriesBurned decimal类型而不是int类型获益代码可以工作。