C# 输入字符串格式不对错误

10:52 提问
C#编程出现输入字符串格式不正确
未处理 System.FormatException
Message=输入字符串的格式不正确。
出错代码如下:
orderInfo.UserId = Convert.ToInt32(UserId.UserIdChuanZhi);
求大神求解QAQ
按赞数排序
UserId.UserIdChuanZhi不是一个合法的整数,是否有空格等字符
UserId.UserIdChuanZhi 格式不对,不能转为数字
用Int.TryParse方法来转,当不是数字时不会发生异常。
用Int.TryParse方法来转
其他相关推荐
其他相似问题欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 2083 人关注过本帖
标题:控制台应用程序运行到 double.Parse(Console.ReadLine())时出现黄色的警告说 ...
等 级:新手上路
&&问题点数:0&&回复次数:4&&&
控制台应用程序运行到 double.Parse(Console.ReadLine())时出现黄色的警告说输入字符串的格式不正确
这是输入矩阵的那一段程序:程序代码:public double[,] InputArr(int x, int y)&&&&&&&&&&&&&&//矩阵的输入函数,用于输入函数并且将输入的函数显示出来
&&&&&&&&&&&&arr = new double[x, y];
&&&&&&&&&&&&for (int a = <font color=#; a & a++)
&&&&&&&&&&&&&&& for (int b = <font color=#; b & b++)
&&&&&&&&&&&&&&&&&&&&arr[a, b] = double.Parse(Console.ReadLine());
&&&&&&&&&&&&Console.WriteLine(&输入的矩阵为:&);
&&&&&&&&&&&&OutPrint(arr, x, y);&&&&&&&&&&&&&&&&&&&&&&&&&&&//矩阵的显示
&&&&&&&&&&&&return&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//返回输入的矩阵
运行程序时总会在arr[a, b] = double.Parse(Console.ReadLine());这里出现黄色的警告,说输入字符串的格式不正确,请问这是怎么回事?
另外我输入矩阵是3*3的,我输入时是一个数一个空格一个数一个空格,最后输完9个数后打回车,这样对吗?
搜索更多相关主题的帖子:
&&&&&&&&&&
来 自:河北省石家庄
等 级:蜘蛛侠
帖 子:256
专家分:1007
输入数据时中间是不能有空格的(个人认为)
代做小型软件。
等 级:版主
威 望:87
帖 子:2536
专家分:9359
double.Parse( 转换出问题了呗
出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
来 自:承德
等 级:侠之大者
帖 子:242
专家分:417
是需要空格还是输入每一个数之后都要回车?或者你用Convert.ToDouble()试试
www.qysy.tk
等 级:论坛游民
帖 子:18
专家分:55
应该是输入一个数据就回车,Console.ReadLine()是读取一行,而double.Parse是把读取的数据转换为一个double类型的数,很显然,一行数据来转换,格式是不正确的。这个和C语言里的格式输入不一样的。
版权所有,并保留所有权利。
Powered by , Processed in 0.308896 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights ReservedC# 输出字符串格式详解
C#的控制台输出函数是System.Console里面的WriteLine和Write。输出多个字符串可以直接用“ ”连接,比如int a=10;string b="Hello",double c=222.22;Console.WriteLine("aaaa" a.ToString() " " b " " c.ToString() "The End");也可以使用指定格式,Console.WriteLine("aaaa{0} {1} {2} The End",a,b,c);效果跟前面是一样的。WriteLine是控制台输出,ToString则可以用于其它地方,另外也可以对标准输入输出进行重定向,使ReadLine和WriteLine可以对控件操作:Process pcmd = new Process();pcmd.StartInfo.FileName = "cmd";pcmd.StartInfo.UseShellExecute =pcmd.StartInfo.RedirectStandardInput =pcmd.StartInfo.RedirectStandardOutput =pcmd.StartInfo.RedirectStandardError =pcmd.StartInfo.CreateNoWindow =//string result =pcmd.Start();pcmd.StandardInput.WriteLine(textBox1.Text);pcmd.StandardInput.WriteLine("exit");richTextBox1.Text=pcmd.StandardOutput.ReadToEnd();ToString函数也可以使用格式。{}中间的数字是索引,代表列表中参数的序号。还可以有更高级的用法格式为{n,w:x}n为索引,w为宽度,对齐用的,x是格式字符串。来看个具体的例子:static void Main(string[] args){&&& double a = 123.456;&&& System.Console.Write("{0}",a.ToString("F0"));&&& for (int i = 0; i & 100; i
)&&& {&&&&&&& if (i % 5 == 0) System.Console.WriteLine();&&&&&&& System.Console.Write("{0,5:D2}", i);&&& }}System.Console.Write("{0}",a.ToString("F0"));表示把a精度为0的小数输出。也可以写成System.Console.Write("{0,3:F0}",a);System.Console.Write("{0,5:D2}", i);表示宽度为5,精度为2,不足补0。D表示是整数,其它的标准数字格式字符串有:C&&& 本地货币格式E&&& 科学记数法(指数)格式F&& 定点(小数)格式G&& 常规格式N&& 数字格式P&& 百分数格式X&& 十六进制格式R&& 往返过程还有一种方式是使用占位符:double a = 1.2345;System.Console.WriteLine("{0:###.000000}", a);结果为1.234500“#”号位置上有字符就输出,没有则不输出,0的位置上有字符就输出,没有就填0。再来看个例子:decimal m = 168.24m;decimal n = 45.8m;System.Console.WriteLine("{0,8:C2} {1,8:C2} {2,8:C2}", m, n,m-n);输出结果为¥168.24¥45.80¥122.44前面有一个空格,因为宽度是8,小数点后保留两位小数,不足补0。它是右对齐的,我们可以换成左对齐:¥168.24¥45.80¥122.44“¥”符号是自动加上去的,我们这里选择的是货币格式,它会自动选择适当的符号,RMB当然是¥,要修改可以去控制面板里面设置语言和货币。以上是数字的格式,另外日期和时间格式字符串也是比较常用的。static void Main(string[] args){&&& DateTime date1 = new DateTime(,19,50,28);&&&&&&& //日19点50分28秒&&& &&&& Console.WriteLine(date1.ToString("f",CultureInfo.CreateSpecificCulture("zh-CN")));}D&&&&&& 长日期模式&&&&&&&&&&&&&&&&&&& 日f&&&&&&&& 完整日期/时间模式(短时间)&&&&&&&&&&& 日 19:50F&&&&&&& 完整日期/时间模式(长时间)&&&&&&&&&& 日 19:50:28g&&&&&&& 常规日期/时间模式(短时间)&&&&&&&&&&
19:50G&&&&& 常规日期/时间模式(长时间)&&&&&&&&&&
19:50:28M或m&& 月日模式&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 5月22日t&&&&&&&& 短时间模式&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 19:50T&&&&&& 长时间模式&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 19:50:28u&&&&&&& 通用的可排序日期/时间模式&&&&&&&&&&
19:50:28ZU&&&&&&& 通用完整日期/时间模式&&&&&&&&&&&&&&&&& 日 11:50:28Y或y&&&& 年月模式&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 2010年5月还可以自定义格式,{&&& DateTime date1 = new DateTime(,19,50,28);&&&&&&&&&&&&&&&&& &&&& Console.WriteLine(date1.ToString("yyyy年MM月dd日 tt hh:mm:ss.FF",CultureInfo.CreateSpecificCulture("zh-CN")));&&&&&&&&&&&&&&& &}输出为日 下午 07:50:28还有很多用法,详情可以去查MSDN。输出为 日 19:50,还有其它的:d&&&&&&& 短日期模式&&&&&&&&&&&&&&&&&&&&安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&}

我要回帖

更多关于 输入的字符串格式不对 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信