我有一个BigDecimal对象,我想将其转换为字符串。 的问题是,我的价值得到了分数,我也得到一个庞大的数字(长),我只需要原来的数字符串,例如: 为BigDecimal到字符串
BigDecimal bd = new BigDecimal(10.0001)
System.out.println(bd.toString());
System.out.println(bd.toPlainString());
输出为:
10.000099999999999766941982670687139034271240234375
10.000099999999999766941982670687139034271240234375
,我需要出去投入是完全数字10.0001
字符串
的更有效的方法通过这种方式转换'double'就是使用'BigDecimal.valueOf(double);' –
@PeterLawrey不知道我明白。 'BigDecimal.valueOf(double)''以相同的方式将double转换为“double”,打印时会变成四舍五入,这使用了一些复杂的规则,所以我不确定如何依赖它。 – assylias
'使用Double.toString(double)方法提供的double的规范字符串表示形式将double翻译为BigDecimal。 注意:这通常是将double(或float)转换为BigDecimal的首选方式,因为返回值等于从使用Double.toString(double)结果构造BigDecimal所产生的值。# –