Java中double保留n位小数点
场景:计算成绩,账目时常常需要精确到小数点后两位,java不能像C那样直接限制输出的位数。
步骤:
一、导入(import) java.math.BigDecimal;
二、创建BigDecimal对象,要求参数是要被取舍的double类型数据
三、使用BigDecimal对象.setScale(保留位数,BigDecimal.ROUND_HALF_UP).doubleValue()
四、setScale会返回一个四舍五入后的保留两位的double数据值,用变量接收
double temp = Math.random() * 45 + 55; //产生55~100的double型随机数
BigDecimal d = new BigDecimal(temp);
double score =d .setScale(2 ,BigDecimal.ROUND_HALF_UP).doubleValue();
// score = 87.23
例子比较简单,相当于做笔记了,如有不懂得可以看看下面这篇更专业的
CSDN: Java保留两位小数的几种写法总结