C#邮资计算器

时间:2014-03-16 13:57:05

标签: c# winforms

我正在使用邮资计算器作为Windows窗体应用程序 - 但是我遇到了从int转换为字符串的一些问题 - 正如我认为的那样。计算器应基于if-else语句,因此使用那些:)另外 - 如果textbox1中的权重值(g)小于或等于0或大于2000,则需要清除两个文本框。 / p>

我目前的代码如下:

    private void button1_Click(object sender, EventArgs e)
    {
        int g;
        textBox1.Text = g.ToString();
        {
            if (g <= 0 || g > 2000)
            {
                Console.WriteLine("Your weight is either too low or too high");
                textBox1.Clear();
                textBox2.Clear();
            }
            else if (g > 0 && g <= 50)
            {
                textBox2.Text = ("9,00");
            }
            if (g > 50 && g <= 100)
            {
                textBox2.Text = ("18,00");
            }
            if (g > 100 && g <= 250)
            {
                textBox2.Text = ("28,00");
            }
            if (g > 250 && g <= 500)
            {
                textBox2.Text = ("38,50");
            }
            if (g > 500 && g <= 1000)
            {
                textBox2.Text = ("49,00");
            }
            if (g > 1000 && g <= 2000)
            {
                textBox2.Text = ("60,00");
            }
        }
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    }

1 个答案:

答案 0 :(得分:1)

你也可以尝试将字符串转换为这样的int:

int g;
if (int.TryParse(textBox1.Text, out g))
{
    if (g <= 0 || g > 2000)
    {
        Console.WriteLine("Your weight is either too low or too high");
        textBox1.Clear();
        textBox2.Clear();
    }
    else if  ...
}
else // text box value could not be converted to an integer
{
    Console.WriteLine("You did not enter a valid number for weight.");
}

这与Selman22's answer之间的区别在于,如果字符串无法转换为int,Convert.ToInt32将抛出异常。如果您已在文本框中进行验证,则可能没有必要。但是,这些是在C#中将string转换为int的两种主要方式。