Double值保留两位⼩数的四种⽅法
public class DoubleTest {
//保留两位⼩数第三位如果⼤于4会进⼀位(四舍五⼊)
double f = 6.23556;
/**
*使⽤精确⼩数BigDecimal
*/
public void fun1() {
BigDecimal bg = new BigDecimal(f);
/**
* 参数:
newScale - 要返回的 BigDecimal 值的标度。
roundingMode - 要应⽤的舍⼊模式。
返回:
⼀个 BigDecimal,其标度为指定值,其⾮标度值可以通过此 BigDecimal 的⾮标度值乘以或除以⼗的适当次幂来确定。*/
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
* DecimalFormat转换最简便
*/
public void fun2() {
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
}
/**
* String.format打印最简便
*/
bigdecimal除法保留小数public void fun3() {
System.out.println(String.format("%.2f", f));
}
/**
*使⽤NumberFormat
*/ public void fun4() {
NumberFormat nf = NumberInstance();
/**
* setMaximumFractionDigits(int newValue)
设置数的⼩数部分所允许的最⼤位数。
*/
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
public static void main(String[] args) {
DoubleTest dt = new DoubleTest();
dt.fun1();
dt.fun2();
dt.fun3();
dt.fun4();
}
}
输出结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。