Java开发中常见的保留精度与金额计算

保留两位小数

1.返回double类型

double d = 123.456;
BigDecimal b = new BigDecimal(d);
d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();        
System.out.println(d);

ROUND_HALF_UP:四舍五入
ROUND_HALF_UP:五舍六入
ROUND_UP:直接加1
ROUND_DOWN:去掉尾数

2.返回String类型

double d = 114.145;
String.format("%.2f", d);


BigDecimal与 int 相乘返回 double(例如:单价 × 数量)

int num = 3;
BigDecimal price = new BigDecimal(100.00);
Double total = price.multiply(new BigDecimal(num));

你可能感兴趣的:(Java开发中常见的保留精度与金额计算)