如何将大十六进制数(带小数点)转换为BigDecimal

时间:2014-12-01 17:55:34

标签: java

我在String中有十六进制格式(带小数点)的大数字,我想将其转换为BigDecimal.

示例值:0xcc.ccdp+1600

BigDecimal类中,我没有看到任何以十六进制格式表示数字的字符串作为输入并返回相应的BigDecimal.

的函数

有没有办法将大的十六进制数从String转换为BigDecimal?

1 个答案:

答案 0 :(得分:6)

我很惊讶BigDecimal尚不支持这一点。我写了以下内容,我认为应该可行。它通过我的初始测试(包括0xcc.ccdp+00xcc.ccdp+10xcc.ccdp+160xcc.ccdp+256和您的0xcc.ccdp+1600以及来自{{1}的一些否定指数}到-1),但在生产代码中使用之前应该进行更彻底的测试。

-16

我在{MIT牌照下} released this on github。有单元测试,但只有一个非常小的设置。

如果您发现任何返回错误值的情况,请告知我们。