-1.30的浮点表示不准确.以下是对代码的略微修改:
BigDecimal bd = new BigDecimal("-1.30").setScale(2, RoundingMode.HALF_UP);
String textBD = bd.toPlainString();
System.out.println("text version, length = , " + textBD.length());
int radixLoc = textBD.indexOf('.');
System.out.println("Fraction " + textBD.substring(0, radixLoc)
+ ". Cents: " + textBD.substring(radixLoc + 1, textBD.length()));
我已经在setScale上放置了一个RoundingMode来将小部分便士分成1.295“一半上升”到1.30.
结果是:
text version, length = , 5
Fraction -1. Cents: 30