C#winform窗体程序中字符串转换成int型总提示异常

一条小池鱼 2020-05-17 04:33:45
新建立了一个C#winform程序,将得到的字符串转换成int型时候却总出现格式异常,试过了
int.parse(),和convert.toint32()都会错误,在控制台程序的时候同样的代码却不会出现异常,请问为什么?
[code
private void button1_Click(object sender, EventArgs e)
{
if (txt1.Text.Trim() != "")
{
string str = txt1.Text;//输入十个数字,中间逗号隔开
string[] strs = str.Split(',');
int []array = new int[strs.Length];
for (int i=0;i<strs.Length; i++)
{
array[i] = Convert.ToInt32(strs[i]);//就是这里总提示异常
}
txt2.Text = array[0].ToString();






}
}[/code]
...全文
371 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dmankill 2020-05-21
  • 打赏
  • 举报
回复
同楼上的字符串先trim下空字符, split的话也有参数(StringSplitOptions.RemoveEmptyEntries)可以忽略空防止输入输入了,没有输入数据
Top_小鑫 2020-05-21
  • 打赏
  • 举报
回复
txt1.Text.Trim() 这个值能不能贴出来看看。估计就是这里的问题!
ManBOyyy 2020-05-18
  • 打赏
  • 举报
回复
引用 楼主 睡主 的回复:
新建立了一个C#winform程序,将得到的字符串转换成int型时候却总出现格式异常,试过了 int.parse(),和convert.toint32()都会错误,在控制台程序的时候同样的代码却不会出现异常,请问为什么? [code private void button1_Click(object sender, EventArgs e) { if (txt1.Text.Trim() != "") { string str = txt1.Text;//输入十个数字,中间逗号隔开 string[] strs = str.Split(','); int []array = new int[strs.Length]; for (int i=0;i<strs.Length; i++) { array[i] = Convert.ToInt32(strs[i]);//就是这里总提示异常 } txt2.Text = array[0].ToString(); } }[/code]
有可能你的最後的逗號還沒有去處,導致出現問題了 比如 1,2,3,4,5,6,
牧歌ing 2020-05-18
  • 打赏
  • 举报
回复
你调试一下
string[] strs = str.Split(',',',');
有可能是你这里有问题
  • 打赏
  • 举报
回复
可能是输入了中文的逗号,而分割是用了英文的。打个断点,调试看一下分割后的array内容;
海边相守 2020-05-17
  • 打赏
  • 举报
回复
你要看你是把控件中的内容强转成int,你输入的时候就要输能转换成int型的,比如1,1可以,你输入1,a是不行的,a不能转换成整形只得到吧
  • 打赏
  • 举报
回复

string atxt = "1,2,3,4,5,6,7,8,9,11";
int[] aaa = atxt.Trim().Split(',').Select(a => int.Parse(a)).ToArray();
atxt=aaa[0].ToString ();

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧