繁体   English   中英

C#是否需要有关将字符串转换为Int的帮助?

[英]C# Need Help on Converting String to Int?

所以...我这里有这段代码,一切似乎都很完美,但是当我尝试运行它时,它给出了格式化异常处理程序错误。

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        if (textBox1.Text != null)
        {
            minusTime = Convert.ToInt32(textBox1.Text); // fix this... idk what's even wrong. Just trying to assign user input to minusTime...
        }
        else
        {
            minusTime = 0;
        }
    }

*注意:textbox1是用户输入的整数值。 minusTime是一个空整数,将分配给用户输入。

我已经尝试仅使用“ Convert.ToInt32(textBox1.Text)”来运行它,但是它仍然给我一个例外,提示用户输入了错误的格式...当用户输入显然是int时。

你要

bool result = Int32.TryParse(textBox1.Text, out minusTime);

如果输入的不是整数,则返回false

MSDN页面

还有一个重载可以获取有关数字可能格式的更多信息:

public static bool TryParse(
    string s,
    NumberStyles style,
    IFormatProvider provider,
    out int result
    )

这将应付货币符号等。

尝试使用:

minusTime = Int32.Parse(textBox1.Text); 
private void textBox1_TextChanged(object sender, EventArgs e)
{
    var minusTime;
    if (textBox1.Text != null && int.TryParse(textBox1.Text, out minusTime))
    {
    }
    else
    {
        minusTime = 0;
    }
}

您可以使用:

int minusTime=0;
Int32.TryParse(textBox1.Text, out minusTime);

如果textBox1.Text不是整数,或者即使它为null,则minusTime将为0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM