0

我正在尝试在 C# 中将a 转换string为 a 。short但我不断收到格式异常是未处理的错误。

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

中的值为quantityBox“1”。

Visual Studio 给我的提示并不是很有帮助,例如:“将字符串转换为日期时间时,解析字符串以在放置每个变量之前获取日期”

4

3 回答 3

1

尝试添加 ToString 调用:

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

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

于 2013-10-24T09:56:22.167 回答
1

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

这将引发错误:

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

这不会抛出任何错误:

short val1 = short.Parse("4");             
于 2013-10-24T09:59:13.100 回答
0

short 关键字表示一个整数数据类型,它根据以下博客中显示的大小和范围存储值

于 2013-10-24T10:23:44.893 回答