【问题标题】:C# simple computationC# 简单计算
【发布时间】:2012-11-11 17:44:36
【问题描述】:

嗨,我正在制作一个简单的 c# 计算示例 Label1.Text = textBox1.Text + textbox2.Text 当我尝试输入 88.5 或 80.3 并计算我的程序时遇到问题,我的程序不断崩溃并出现错误。我已经将文本转换为 Int,这是我的代码:

 int i;
 i = Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text);
 Label1.Text= i.ToString();

但如果我插入 88 和 80 ,它就可以工作。我知道我错过了这个。任何人都可以帮助我吗?谢谢

【问题讨论】:

    标签: c# addition


    【解决方案1】:

    您正在尝试将“88.5”转换为整数。不是整数吧?

    我建议您改用decimal - 并使用TryParse,这样您就可以处理无效的用户输入而不诉诸异常。

    decimal input1, input2;
    if (decimal.TryParse(textBox1.Text, out input1) &&
        decimal.TryParse(textBox1.Text, out input2))
    {
        Label1.Text = (input1 + input2).ToString();
    }
    else
    {
        Label1.Text = "Invalid input";
    }
    

    【讨论】:

    • 谢谢@Jon 先生,这工作!!
    • @Jay:但是你了解为什么它会起作用,以及你的原始代码存在的问题吗?
    • 是的,先生。因为我只使用整数而不是小数
    • @JonSkeet 先生,如果我想将 output1 乘以 .20 怎么办
    • @Jay:别忘了使用 TryParse ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    相关资源
    最近更新 更多