2017-03-05 167 views
-1

我在我的计算器中遇到了addind浮点数问题。 谁可以帮我改变这段代码。 我不知道我有什么错。c# - 计算器 - 用浮点数计算

public float CalculateFloatResult(string operation, float num1, float num2) 
    { 
     float resut = 0; 
     try 
     { 
      if (txtResult.Text.Contains("+") || txtResult.Text.Contains("-") || txtResult.Text.Contains("*") || txtResult.Text.Contains("/") || txtResult.Text.Contains("%")) 
      { 
       switch (operation) 
       { 
        case "plus": 
         resut = num1 + num2; 
         break; 
        case "minus": 
         resut = num1 - num2; 
         break; 
        case "multiply": 
         resut = num1 * num2; 
         break; 
        case "divide": 
         resut = num1/num2; 
         break; 
        case "modulus": 
         if (num2 != 0.0) 
          resut = num1 % num2; 
         else 
          MessageBox.Show("Cannot find Modulus of Zero.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
         break; 
        default: 
         break; 
       } 
      } 

      return resut; 
     } 
     catch 
     { 
      return resut; 
     } 
    } 
+0

而问题是......? – Guy

+0

,究竟是什么问题?错误的总和? – Whencesoever

+0

我不能添加2个数字:( –

回答

0

尝试更改float结果= 0;浮动结果= 0.00; 希望这会解决你的问题

+0

不幸的是没有:( –

+0

plz解释你的问题,多一点解释 –

0

如果你有问题,你应该改变浮点数为Double。 或转换时,你想打电话metod loke这

var myFloat= CalculateFloatResult("+", float.Parse("1.5"), float.Parse("2.5")); 
+0

float myFloat = Calculate(“plus”,float.Parse(split [0]),float.Parse(split [1])); –

+0

它不是很好:( –

+0

你应该改变float为Double,我测试它的工作。 –