将字符串转换为short C#时的格式异常

时间:2013-10-24 09:48:29

标签: c# string parsing short formatexception

我正在尝试将C {中的string转换为short。 但我一直得到格式异常是未处理的错误。

short copies = short.Parse(mainForm.quantityBox.Text);
printDocument.PrinterSettings.Copies = copies;

quantityBox中的值为“1”。

Visual Studio给我的提示并不是真的有用 E.G:“将字符串转换为datetime时,解析字符串以在放入每个变量之前获取日期”

3 个答案:

答案 0 :(得分:1)

如果您的输入文本值id为“。”,则会发生格式异常。 (点)在里面。最好更换或处理此点(。)以避免“Input string was not in a correct format.”。

这会抛出错误:

short val = short.Parse("4.0");                  

这不会引发任何错误:

short val1 = short.Parse("4");             

答案 1 :(得分:0)

尝试添加ToString调用:

short copies = short.Parse(mainForm.quantityBox.Text.ToString());

您获得异常的原因是因为quantityBox的值为1 是一个int。 short.Parse()接受一个字符串,所以通过将quantityBox.Text的内容转换为 ToString(),无论给出什么值,它都将被转换为字符串。

答案 2 :(得分:0)

short关键字表示一个整数数据类型,它根据以下Blog

中显示的大小和范围存储值