如何检查字符串是否(非常大)?

时间:2010-10-27 14:54:46

标签: c# string validation numbers

我需要为指定的字符串进行数字验证。问题是,字符串可能是一个很大的数字,比C#中的任何数字类型都要大,所以我不能使用TryParse函数,因为它们只会提供有关它们是否可以转换为那些类型。

应考虑 - / +,分隔符和当前文化设置。

我找到了一些使用正则表达式的解决方案,但他们都错过了一些细节。而且我不擅长正则表达式

3 个答案:

答案 0 :(得分:9)

如果您使用的是C#4.0,则可以使用BigInteger,并且数字是整数。

Represents an arbitrarily large signed integer.

使用TryParse方法避免Parse可能出现的异常(除非您某些传入的字符串始终是有效整数)。

答案 1 :(得分:3)

如果使用.NET 4.0,则可以使用BigInteger。它包含一个TryParse,它接受​​IFormatProver即可满足您的需求。 BigInteger的大小不受限制,因此您所需的数字不可能大于BigInteger可以处理的数字。

答案 2 :(得分:0)

看看http://www.regexlib.com/Search.aspx?k=numeric&c=-1&m=5&ps=20http://regexlib.com/包含许多正则表达式的示例,并且必须有一个符合您要求的示例。