java - Java中如何将字符串中的大十进制数转换为十六进制数?

标签 java hex

我的字符串中有 12 位数字,我需要将其转换为十六进制。

unit_address = '0064627520128';

我尝试使用

Integer.toHexString("string") 

但它不起作用,因为小数值很大。

使用此方法只能将整数值转换为十六进制,但在我的情况下不行。

最佳答案

您可以使用 BigInteger 而不是 BigDecimal。这样你就可以使用

new BigInteger("18446744073709551616").toString(16)

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

new BigDecimal("18446744073709551616").toBigInteger().toString(16);

关于java - Java中如何将字符串中的大十进制数转换为十六进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59652798/

相关文章:

java - 如何构建匹配十六进制数字的正则表达式?

java - 将十六进制数转换为长整数

c - 将 sprintf 的十六进制输出保存到 C 中的文件中

java - Java 中的 String.format() 和十六进制数字

java - 直到鼠标悬停或最小化窗口后,JComponent 才会出现,并且 JTextField 问题

java - 使用硬编码值,并且仍然会获得java.lang.NullPointerException

java - 为什么我在尝试编译 servlet 时会收到无效标志错误?

java - 将命名空间设置为 @XmlRootElement 时解码失败且没有错误

java - JDBC "database table is locked"错误

javascript - 这个编码的字符串说什么?