如何将BigDecimal转换为十六进制字符串?

bec*_*cks 2 java hex bigdecimal

我有一些类型BigDecimal,例如18446744073709551616,我想将其转换为十六进制值.

有没有办法做到这一点,而不是手动做?

Psh*_*emo 9

从你的例子判断,你应该使用BigInteger而不是BigDecimal.这样你就可以使用了

new BigInteger("18446744073709551616").toString(16)
Run Code Online (Sandbox Code Playgroud)

如果您无法更改原始对象的类型,请稍后在方法中将其转换为BigInteger

new BigDecimal("18446744073709551616").toBigInteger().toString(16);
Run Code Online (Sandbox Code Playgroud)