字符串转整数可能重复:字符串转Int怎么转?嗨,我在将字符串转换为整数时遇到以下问题:stringstr=line.Substring(0,1);//这从字符串“line”的偏移量0处选择一个整数,因此现在字符串str包含一个整数。我正在做以下事情:inti=Convert.ToInt32(str);如果我写下面的语句,我应该打印一个整数吗?控制台.WriteLine(i);它编译没有任何错误,但在运行时出现以下错误:mscorlib.dll中出现类型为“System.FormatException”的未处理异常附加信息:输入字符串格式不正确。有帮助吗?而不是使用Convert.ToInt32(string)你应该考虑使用Int32.TryParse(string,outint)。TryParse方法有助于以更安全的方式处理用户提供的输入。错误的最可能原因是您返回的子字符串具有整数值的无效字符串表示形式。字符串str=line.Substring(0,1);诠释我=-1;如果(Int32.TryParse(str,outi)){Console.WriteLine(i);}出现FormatException值不包含后跟序列号(0到9)的可选符号。当参数的格式不符合被调用方法的参数规范时引发异常。如果不想产生这样的异常,可以使用Int32.TryParse。Int32.TryParse:将数字的字符串表示形式转换为其等效的32位带符号整数。返回值表示操作是否成功。那里完全有可能存在一些差距。尝试运行trim()之类的程序(我不确定您使用的是什么语言)会去除空白。另外,尝试打印出字符串以确保您确实拥有正确的部分。我们都做到了:)您输入的格式可能无效。尝试这个。如果数字无效,则应输出错误。请记住,字符串应包含一个可选符号,后跟一个数字。字符串行=“23”;//管他呢。字符串str=行。子串(0,1);诠释我=0;如果(Int32.TryParse(str,outi)){控制台。写行(一世);}else{Console.WriteLine("错误转换'"+line+"','"+str+"'.");您可能会看到的一件事是用户输入“-1”。如果你substring(0,1)做了substring(0,1)你只会得到“-”,这不是真正有效的。你确定str中返回的值是一个int,如果你使用visualstudio,设置一个调试点。我觉得您的问题可能是您实际上没有返回整数。尝试:line.Trim().Substring(0,1);这将删除所有空格。以上就是C#学习教程的全部内容:字符串转整数。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
