首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

头大:怎么把一个超长的字符串转换成数值型而不出错

2012-08-24 
头大:如何把一个超长的字符串转换成数值型而不出错?头大:如何把一个超长的字符串转换成数值型而不出错?str

头大:如何把一个超长的字符串转换成数值型而不出错?
头大:如何把一个超长的字符串转换成数值型而不出错?

string s=" 12719518811299020922413000";

// 由于超过long的18位长度限制,程序走到这里出错,如果不截掉字符的情况下,
// 还有没有其他办法可解?
long lid = Convert.ToInt64(s);

谢了。。。

[解决办法]
这个字符串事实上是否是数值:
如果是:那么是否超出了DECIMAL数据类型的范围;
如果否:那么返回默认值0或者null?,还是抛出异常,
这里,写个安全函数(转换失败返回0):

C# code
public static Decimal ToDecimal(object pObj) {            try {return Convert.ToDecimal(pObj);}            catch {return 0;}            }
[解决办法]
BigInteger
http://msdn.microsoft.com/zh-cn/library/system.numerics.biginteger.aspx

热点排行