C#将大于Int64的数字转换为HexaDecimal

Sal*_*lem 3 .net c# hex int64

我想在C#中将一个大数字(例如:9407524828459565063)转换为十六进制(例如:828E3DFD00000000).

问题是该数字大于Int64的最大值.

我到处查找,找不到合适的解决方案.

有什么帮助吗?

谢谢.

pho*_*oog 8

我会使用System.Numerics.BigInteger类来执行此操作.确切的解决方案取决于您具有此数字的格式:字符串,双精度,其他.

如果string(s):

var bigInt = BigInteger.Parse(s);
var hexString = bigInt.ToString("x");
Run Code Online (Sandbox Code Playgroud)

如果是double(d):

var bigInt = new BigInteger(d);
var hexString = bigInt.ToString("x");
Run Code Online (Sandbox Code Playgroud)

......等等.