BigDecimal处理
保留两位小数
https://www.cnblogs.com/jpfss/p/8072379.html
/**
* 保留两位小数
*/
@org.junit.Test
public void formatTest() {
double num=13.154215;
//方式一
DecimalFormat df1 = new DecimalFormat("0.00");
String str = df1.format(num);
System.out.println(str); //13.15
//方式二
// #.00 表示两位小数 #.0000四位小数
DecimalFormat df2 =new DecimalFormat("#.00");
String str2 =df2.format(num);
System.out.println(str2); //13.15
//方式三
//%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
String result = String.format("%.2f", num);
System.out.println(result); //13.15
}
/**
* 四舍五入保留小数点后两位,直接转成String,一般用于前端直接显示
*
* @param value
* @return
*/
public static String keep2DecimalPlaces(float value) {
BigDecimal b1 = new BigDecimal(value);
return b1.setScale(2, BigDecimal.ROUND_HALF_UP).toString();
}
/**
* 保留小数点后两位,还返回float,一般用作后端其他的逻辑运算,
*
* @param value
* @return
*/
public static float keep2DecimalPlaces(float value) {
BigDecimal b1 = new BigDecimal(value);
return b1.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/279554.html