千位分隔值为整数
本文关键字:整数 分隔 千位 | 更新日期: 2023-09-27 17:57:55
我想将一千个分隔的值转换为整数,但遇到一个异常。
double d = Convert.ToDouble("100,100,100");
工作正常,正在获取d=100100100
int n = Convert.ToInt32("100,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.
Int32.parse(string)
方法只允许三种类型的输入:空白、符号和数字。在以下配置中[ws][sign]数字[ws](括号中为可选)。
由于您的包含逗号,它引发了一个异常。
因为您应该指定一个字符串,该字符串包含一个纯整数(可能前面有+/-号),没有千分隔符。在将字符串传递给ToInt32例程之前,必须替换分隔符。
不能有分隔符,只能有数字0到9和可选符号。
http://msdn.microsoft.com/en-us/library/sf1aw27b.aspx