Java中Double保留⼩数位
1.能四舍五⼊
double d = 114.145;
d = (double) und(d * 100) / 100;
System.out.println(d);
2. BigDecimal.ROUND_HALF_UP表⽰四舍五⼊,BigDecimal.ROUND_HALF_DOWN也是五舍六⼊,BigDecimal.ROUND_UP表⽰进位处理(就是直接加
1),BigDecimal.ROUND_DOWN表⽰直接去掉尾数。
double d = 114.145;
BigDecimal b = new BigDecimal(d);
d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(d);
3. 00表⽰保留后两位,它的处理⽅式是直接截掉不要的尾数,不四舍五⼊。
double d = 114.145;
DecimalFormat df = new DecimalFormat("#.00");bigdecimal除法保留小数
String str = df.format(d);
System.out.println(str);
4.%.2f表⽰保留后两位,能四舍五⼊。
double d = 114.145;
String.format("%.2f", d);
5.RoundingMode.HALF_DOWN表⽰五舍六⼊,负数先取绝对值再五舍六⼊再负
数,RoundingMode.HALF_UP:表⽰四舍五⼊,负数先取绝对值再五舍六⼊再负数。double d = 114.145
NumberFormat nf = NumberInstance();
// 保留两位⼩数
nf.setMaximumFractionDigits(2);
// 如果不需要四舍五⼊,可以使⽤RoundingMode.DOWN
nf.setRoundingMode(RoundingMode.UP);
System.out.println(nf.format(d));

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