Java中如何为Double保留后小数位呢?
下文笔者讲述java代码为Double保留指定小数位的方法及示例分享
%.2f表示保留后两位
RoundingMode.HALF_DOWN:五舍六入
double四舍五入--返回double
double d = 228.145; d = (double) Math.round(d * 100) / 100; System.out.println(d);
BigDecimal.ROUND_HALF_UP:四舍五入 BigDecimal.ROUND_HALF_DOWN:五舍六入 BigDecimal.ROUND_UP:进位处理(直接加1) BigDecimal.ROUND_DOWN:直接去掉尾数例:
double d = 228.145; BigDecimal b = new BigDecimal(d); d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println(d);
返回String型
#.00表示保留后两位 直接截掉不要的尾数,不四舍五入 double d = 228.145; DecimalFormat df = new DecimalFormat("#.00"); String str = df.format(d); System.out.println(str);
%.2f表示保留后两位
能四舍五入
double d = 228.145; String.format("%.2f", d);
RoundingMode.HALF_DOWN:五舍六入
负数先取绝对值再五舍六入再负数
RoundingMode.HALF_UP:四舍五入
负数先取绝对值再五舍六入再负数
double d = 228.145 NumberFormat nf = NumberFormat.getNumberInstance(); // 保留两位小数 nf.setMaximumFractionDigits(2); // 如果不需要四舍五入,可以使用RoundingMode.DOWN nf.setRoundingMode(RoundingMode.UP); System.out.println(nf.format(d));
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。