将Textbox Txt转换为int?

时间:2017-04-28 13:15:19

标签: c# asp.net

我试图将文本从文本框转换为int,然后在从Web服务调用方法时将其用作参数。我收到此错误:

  

类型' System.FormatException'的例外情况发生在mscorlib.dll中   但未在用户代码中处理

任何帮助?

继承我的代码

            int amount= int.Parse(txtAmount.Text);

            Service1Client connectionToService = new Service1Client();

            lblResult.Text = connectionToService.getCurrencyName(amount, "Rupee", "Euro");

3 个答案:

答案 0 :(得分:3)

这里有各种各样的事情:

要么确保您的文本框只接受数字(例如从0开始并查找0-9以外的任何输入)。

如果要解析除上述之外的其他值,请始终使用 Double 解析,因为单个字符(如 1 / 2,3 / 4 等)确实可以解析但仅作为双重值。

使用 TryParse 代替 Parse

double parsedValue;
bool wasParsedCorrectly = Double.TryParse(txtTest.Text, out parsedValue);

如果返回true,则输入正常,否则检查输入。 Double值将在parsedValue变量中。这比处理实际异常更好。

如果你期望错误的输入,你可以使用try / catch和.Parse,但是使用TryParse,这将是不需要的,并且是更易读的解决方案

答案 1 :(得分:1)

将它放在try / catch

中会更好
try() 
{
    int amount= int.Parse(txtAmount.Text);
    Service1Client connectionToService = new Service1Client();
    lblResult.Text = connectionToService.getCurrencyName(amount,   
       "Rupee","Euro");
} catch(FormatException e) 
{
    //Treatment
}

答案 2 :(得分:-6)

你可以试试吗

Convert.ToInt32("textbox.text")
相关问题