背景:最近在做一个c#转java的项目
在讲我的需求之前,先来介绍一下标题中的两个方法
c#: BigInteger.Parse 方法 定义:将数字的字符串表示形式转换为它的等效 BigInteger 表示形式。 命名空间: System.Numerics 程序集: System.Runtime.Numerics.dll 我用到的一个重载的方法:Parse(String, NumberStyles) 定义:将指定样式的数字的字符串表示形式转换为它的等效 BigInteger。
java: new BigInteger(str,radix) 定义:将radix进制的str字符串转换为BigInter型
共同点:
不同点:
例如:
//C# string str = BigInteger.Parse("FFFFFFFFFFFEA070", NumberStyles.HexNumber).toString Console.WriteLine(str);//结果为-90000 //java String b = ""+new BigInteger("FFFFFFFFFFFEA070",16); System.out.println(b);/结果为18446744073709461616`
然后我的需求是把java的结果改成跟c#的一样。
我想了很久,最后在java的那里添加了如下代码
String b = ""+new BigInteger("FFFFFFFFFFFEA070",16).longValue(); System.out.println(b);/结果为-90000`
问题解决!!!!