如何将长字符串数值转换为整数

时间:2017-02-14 23:31:28

标签: integer converter long-integer int32

我必须使用ToInt32来转换长字符串数值" 10000000001"为整数,所以这种方式限制为十位数:

    string str1 = "1000000000";
    string str2 = "1000000000";

    int a = Convert.ToInt32(str1);
    int b = Convert.ToInt32(str2);

    int c = a + b;

    Console.WriteLine(c);

结果:

2000000000

但如果字符串数值大于十位数字,如何转换:

    string str1 = "10000000001";
    string str2 = "10000000001";

获得结果:

20000000002

1 个答案:

答案 0 :(得分:2)

如果值可以是任意数字,因为它可以与您可以想到的任何数字一样大或小,然后使用System.Numerics命名空间中的BigInteger结构。

示例:

   string str1 = "1000023432432432432234234324234324432432432432400000";
   string str2 = "1003240032432432423432432948320849329493294832800000";

   BigInteger BigInt = (BigInteger.Parse(str1) + BigInteger.Parse(str2)); // might want to validate before doing this.
   Console.WriteLine(BigInt);

基本上,BigInteger没有上限或下限。唯一的限制是你的RAM。

但是,如果您的号码数量将超过10位数,那么您也可以使用int64。长数据类型。