如何解决将千位分隔的值转换为整数
| 我想将千位分隔的值转换为整数,但是却遇到一个异常。double d = Convert.ToDouble(\"100,100,100\");
工作正常并获得d=100100100
int n = Convert.ToInt32(\"100,100\");
得到一种格式异常
输入的字符串格式不正确
为什么?
解决方法
尝试这个:
int i = Int32.Parse(\"100,100,100\",NumberStyles.AllowThousands);
请注意,Parse
方法将在无效字符串上引发异常,因此您可能还需要检出TryParse
方法:
string s = ...;
int i;
if (Int32.TryParse(s,NumberStyles.AllowThousands,CultureInfo.InvariantCulture,out i))
{
// if you are here,you were able to parse the string
}
,在您的示例中,Convert.ToInt32实际调用的是Int32.Parse。
“ 7”方法仅允许三种类型的输入:空格,符号和数字。在以下配置中,[ws] [sign]个数字[ws](括号中为可选)。
由于您的逗号包含在内,因此引发了异常。
,因为您应该指定一个包含纯整数(可能以+/-号开头)的字符串,且没有千位分隔符。您必须替换分隔符,才能将字符串传递给ToInt32例程。
,您不能使用分隔符,只能是数字0到9,以及可选的符号。
http://msdn.microsoft.com/en-us/library/sf1aw27b.aspx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。