首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TextBox中没有数字时C#程序崩溃

TextBox中没有数字时C#程序崩溃
EN

Stack Overflow用户
提问于 2013-04-16 03:50:14
回答 4查看 529关注 0票数 1

我在C#中有一个WPF应用程序,对于我的一个文本框,输入被接受,然后自动转换(摄氏度到华氏度)。当您输入一个数字时,它工作得很好,但是一旦删除了输入数字的所有数字,程序就会崩溃。我猜这是因为输入格式是“无效的”,因为它只是试图什么都不转换?我对如何解决这个问题感到困惑,任何帮助都将不胜感激,谢谢!

这是我在应用程序中的代码:

代码语言:javascript
复制
private void tempC_TextChanged(object sender, TextChangedEventArgs e)
{
    tempC.MaxLength = 3;
    Temperature T = new Temperature(celsius);
    T.temperatureValueInCelcius = Convert.ToDecimal(tempC.Text);
    celsius = Convert.ToDecimal(tempC.Text);
    T.ConvertToFarenheit(celsius);
    tempF.Text = Convert.ToString(T.temperatureValueInFahrenheit);
}

下面是我创建的API中的代码:

代码语言:javascript
复制
public decimal ConvertToFarenheit(decimal celcius)
{
    temperatureValueInFahrenheit = (celcius * 9 / 5 + 32);

    return temperatureValueInFahrenheit;
}
EN

回答 4

Stack Overflow用户

发布于 2013-04-16 03:53:14

如果不可能进行转换,则应该调用Decimal.TryParse方法来尝试转换值和信号。

代码语言:javascript
复制
if(Decimal.TryParse(tempC.Text, out celsius))
{
   // Value converted correctly
   // Now you can use the variable celsius 

}
else
   MessageBox.Show("The textbox cannot be converted to a decimal");
票数 5
EN

Stack Overflow用户

发布于 2013-04-16 03:53:02

代码语言:javascript
复制
private void tempC_TextChanged(object sender, TextChangedEventArgs e)
{
    Decimal temp;
    if (!Decimal.TryParse(out temp, tempC.Text))
       return;
    ...
票数 2
EN

Stack Overflow用户

发布于 2013-04-16 03:56:58

试试这个:

代码语言:javascript
复制
private void tempC_TextChanged(object sender, TextChangedEventArgs e)
    {
        if(tempC.Text = "")
           return;
        tempC.MaxLength = 3;
        Temperature T = new Temperature(celsius);
        T.temperatureValueInCelcius = Convert.ToDecimal(tempC.Text);
        celsius = Convert.ToDecimal(tempC.Text);
        T.ConvertToFarenheit(celsius);
        tempF.Text = Convert.ToString(T.temperatureValueInFahrenheit);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16023616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档