Java中四舍五入保留两位小数
今天弄一个计算文件大小的问题,忽略了file.length的返回值类型一直取不到小数位。long类型需要注意
标题方法一
标题四舍五入
double f=3.15;
long res = Math.round(f);
值:res = 3
保留两位小数
double f=3.15;
float res = (float)Math.round(f*100)*0.01;
值:res = 3.15
注意:这里用的是浮点类型,如果换成了整形long,那么就是缩小了数据类型,无法出现小数情况
方法二
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
方法三
double d = 3.1415926;
//%.表示小数点前任意位数;3表示三位小数,f表示位浮点型
String res = String.format(“%.2f”,num);