比如数据1.20想要显示1.20而不是1.2
存储和展示
如果希望把一个0存储成0.00的形式,只有string和bigdecimal可以选择,绝对不可能单纯用double实现。
如果要展示1.20,可以用DecimalFormat 和 BigDecimal来实现。
double d = 1.20;
DecimalFormat df = new DecimalFormat("#.00");
String str = df.format(d);
BigDecimal bd = new BigDecimal();
db = new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP);
ROUND_CEILING
大于等于该数的那个最近值
ROUND_DOWN
正数是小于等于该数的那个最近数,负数是大于等于该数的那个最近数
ROUND_FLOOR
小于等于该数的那个值
ROUND_HALF_DOWN
五舍六入
ROUND_HALF_EVEN
向距离最近的一边舍入,如果两边距离相等,如果保留位数是奇数,使用ROUND_HALF_UP;如果是偶数,使用ROUND_HALF_DOWN
ROUND_HALF_UP
四舍五入
ROUND_UNNECESSARY
计算结果是精确的,不需要舍入模式
ROUND_UP
和ROUND_DOWN相反