Java 可以把一个大十进制转换成十六进制吗?

Java 可以把一个大十进制转换成十六进制吗?,java,hex,biginteger,bigdecimal,Java,Hex,Biginteger,Bigdecimal,基本上是标题。我知道你可以通过执行biginger.toString16将biginger转换为十六进制,但是你不能对BigDecimal执行同样的操作。有什么简单的方法可以做到这一点吗?如果没有,有没有办法将BigInteger增加/减少一个百分比?只是好奇,你会如何将十进制数记为十六进制值?i、 e.6.235应如何以十六进制书写?它通常是一种仅用于整数值的格式。因此,要么先将BigDecimal转换为BigInteger,要么使用任何其他toString类型的方法—有几种可用的符号。请记住

基本上是标题。我知道你可以通过执行biginger.toString16将biginger转换为十六进制,但是你不能对BigDecimal执行同样的操作。有什么简单的方法可以做到这一点吗?如果没有,有没有办法将BigInteger增加/减少一个百分比?

只是好奇,你会如何将十进制数记为十六进制值?i、 e.6.235应如何以十六进制书写?它通常是一种仅用于整数值的格式。因此,要么先将BigDecimal转换为BigInteger,要么使用任何其他toString类型的方法—有几种可用的符号。请记住,这可能会丢失进动!BigDecimal可以比本机整数大很多。最好使用BigDecimal.toBigInteger.toString,或者如果不允许使用小数,则使用BigDecimal.ToBiginteRexact.toString在第一行代码中更新应答,从双精度中创建BigDecimal会引入类要避免的问题。在第二行代码中,从BigDecimal中获取一个double再次引入了浮点精度。这样的输出可能与BigDecimal的实际值不匹配。
BigDecimal bd = new BigDecimal(10.0001)
String hexadecimal = bd.toBigInteger().toString(16);