2013-10-24 40 views
0

我试图在C#中将string转换为short。 但我不断收到格式异常是未处理的错误。将字符串转换为短C时的格式异常#

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

quantityBox中的值为“1”。

的Visual Studio中给我的提示是不是真的有帮助 EG:“将字符串转换为datetime时解析字符串将每个变量之前采取的日期”

+1

常量“mainForm.quantityBox.Text”中的值是什么 – Saravanan

+0

什么是excel文本框的值重刑? –

+0

向我们展示了一些示例输入。它是在不同的文化中,有货币符号或分隔符......! – Anirudha

回答

0

尝试增加一个ToString电话:

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

你得到异常的原因是因为quantityBox的值为1,其中 是一个int。 short.Parse()接受一个字符串,因此通过将quantityBox.Text的内容转换为 ToString(),不管它给出的值是什么,它都会被转换为一个字符串。

+0

“不能隐式地将类型字符串转换为简写”那就是我所得到的。 –

+0

@Esat_K我编辑了我的答案 –

1

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

这将引发错误:

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

这不会引发任何错误:

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

短关键字根据在所示的尺寸和范围表示存储值的积分数据类型如下Blog

相关问题