可能重复:
C#, Operator ‘*’ cannot be applied to operands of type ‘double’ and ‘decimal’
您好我希望将文本框中插入的值相乘,但我收到错误。这是我的代码。
decimal num1, num2;
if(decimal.TryParse(textBox1.Text, out num1)
&& decimal.TryParse(textBox2.Text, out num2)){
decimal ans = num1 * 0.20 + num2 * 0.20;
Label1.Text = ans.ToString();
}else{
MessageBox.Show("Please Put a number!! ");
}
我在“ans”中有错误请帮助我。我的错误“运算符*不能应用于'decimal'类型的操作数和double;”
答案 0 :(得分:3)
问题是编译器将常量视为Double
要修复错误本身,您可以将常量转换为十进制,如下所示:
decimal ans = num1 * (decimal)0.20 + num2 * (decimal)0.20;
甚至更好(如评论中所述)你可以specify the type of the constants
decimal ans = num1 * 0.20m + num2 * 0.20m;
答案 1 :(得分:2)
decimal ans = num1 * 0.20m + num2 * 0.20m;