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));
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。