我正在使用邮资计算器作为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)
{
}
答案 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
的两种主要方式。