如何用十进制数字来计算? (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(); 
      } 
     } 

} 
+0

你试图做浮点东西上整数?你读过整数的定义了吗? – 2017-10-11 08:42:13

+0

'double val1 = double.Parse(AngabeGesamt.Text); ... double result = val1/val2;' –

+0

'Int32.Parse'应改为'decimal.Parse'或'double.Parse'&all'int由'decimal'或'double'取代。 –

如果你想浮点值,你必须改变类型int,比方说,doublefloatdecimal):

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(); 
} 
+0

非常感谢!它现在工作:) – 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

让我知道你上车!

+0

双现在工作正常。感谢您为我提供这个链接,我会研究它! – tegabyte

+0

很高兴听到它,如果你需要任何其他的东西只是让我知道! –

这段代码可以做到这一点

 decimal val1 = decimal.Parse("9"); 
     decimal val2 = decimal.Parse("7"); 

     decimal result = (val1/20)* val2; 
     Console.Write(result); 

结果是3.15