我有一個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所產生的值。# –