如何用十进制数字来计算? (C#)
尝试使用小数计算时出现Sytem.FormatException错误。它适用于不是十进制的数字。 我需要添加/更改以使其与十进制数一起工作?如何用十进制数字来计算? (C#)
这是我的代码:
namespace Nikotin_Rechner
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonCalculate_Click(object sender, EventArgs e)
{
int val1 = Int32.Parse(AngabeGesamt.Text);
int val2 = Int32.Parse(AngabeStärke.Text);
int result = val1/20 * val2;
labelBase.Text = result.ToString();
}
}
}
如果你想浮点值,你必须改变类型int
,比方说,double
(float
,decimal
):
private void buttonCalculate_Click(object sender, EventArgs e)
{
double val1 = double.Parse(AngabeGesamt.Text);
double val2 = double.Parse(AngabeStärke.Text);
double result = val1/20 * val2;
labelBase.Text = result.ToString();
}
非常感谢!它现在工作:) – tegabyte
你”我想要使用不同的类型,而不是int
,我建议你的情况下使用double
。事情是这样的:
private void buttonCalculate_Click(object sender, EventArgs e)
{
double val1 = double.Parse(AngabeGesamt.Text);
double val2 = double.Parse(AngabeStärke.Text);
double result = val1/20 * val2;
labelBase.Text = result.ToString();
}
请参阅官方C#文档浏览:https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/double
让我知道你上车!
双现在工作正常。感谢您为我提供这个链接,我会研究它! – tegabyte
很高兴听到它,如果你需要任何其他的东西只是让我知道! –
这段代码可以做到这一点
decimal val1 = decimal.Parse("9");
decimal val2 = decimal.Parse("7");
decimal result = (val1/20)* val2;
Console.Write(result);
结果是3.15
你试图做浮点东西上整数?你读过整数的定义了吗? – 2017-10-11 08:42:13
'double val1 = double.Parse(AngabeGesamt.Text); ... double result = val1/val2;' –
'Int32.Parse'应改为'decimal.Parse'或'double.Parse'&all'int由'decimal'或'double'取代。 –