我在String
中有十六进制格式(带小数点)的大数字,我想将其转换为BigDecimal.
示例值:0xcc.ccdp+1600
在BigDecimal
类中,我没有看到任何以十六进制格式表示数字的字符串作为输入并返回相应的BigDecimal.
有没有办法将大的十六进制数从String
转换为BigDecimal?
答案 0 :(得分:6)
我很惊讶BigDecimal
尚不支持这一点。我写了以下内容,我认为应该可行。它通过我的初始测试(包括0xcc.ccdp+0
,0xcc.ccdp+1
,0xcc.ccdp+16
,0xcc.ccdp+256
和您的0xcc.ccdp+1600
以及来自{{1}的一些否定指数}到-1
),但在生产代码中使用之前应该进行更彻底的测试。
-16
我在{MIT牌照下} released this on github。有单元测试,但只有一个非常小的设置。
如果您发现任何返回错误值的情况,请告知我们。