在负整数上删除数千个分隔符

时间:2015-01-19 12:04:39

标签: c# string numbers int

我想将一个带有千位分隔符的负数字符串转换为整数 我之前运行过这段代码:

int ans = int.Parse(txtInt, System.Globalization.NumberStyles.AllowThousands);

但它会为负数产生运行时错误。

关于如何在数字字符串上获取具有负面可能性的整数的任何想法?

2 个答案:

答案 0 :(得分:4)

我认为您还需要使用NumberStyles.AllowLeadingSign;

int ans = int.Parse(txtInt, NumberStyles.AllowLeadingSign | NumberStyles.AllowThousands);

如果没有此成员,您的字符串只能 当前文化千位分隔符(数字除外)。使用此成员,您还可以指定您的字符串可以使您当前的文化为负或正号也处于领先位置。

当然,仅当您使用NegativeSignCurrentCulture时才会有效。

答案 1 :(得分:2)

您可以通过设置AllowLeadingSign标志来允许前导符号:

int ans = int.Parse(txtInt, System.Globalization.NumberStyles.AllowThousands|System.Globalization.NumberStyles.AllowLeadingSign);