📃
jdk
  • Introduction
  • 设计模式
  • 多线程
    • 多线程_基础篇
    • 多线程_锁
    • 多线程_JUC原子类
    • 多线程_JUC锁集合
    • 多线程_JUC集合
    • 多线程_JUC线程池
    • 多线程_生产者消费者
  • IDEA快捷键
  • Spring注解
    • Spring注解_介绍
    • Spring注解_常用注解
    • Spring注解_Spring入门篇
  • Java基础
    • Java基础_集合
    • Java基础_泛型
    • Java基础_打jar包
    • Java基础_正则匹配
    • Java基础_反射机制
    • Java基础_对象正反序列化
    • Java基础_读取配置文件
    • Java基础_解析与生成XML
    • Java基础_后台服务器开发
    • Java基础_四舍五入
  • Java进阶
    • Java进阶_反射
    • Java进阶_注解
  • MySQL
    • MySQL_基础
    • MySQL_约束
    • MySQL_多表查询
    • MySQL_事务
    • MySQL_数据库设计
  • JDBC
    • JDBC_JDBC基础
    • JDBC_JDBC连接池
    • JDBC_JDBCTemplate
  • Spark集群搭建
Powered by GitBook
On this page

Was this helpful?

  1. Java基础

Java基础_四舍五入

PreviousJava基础_后台服务器开发NextJava进阶

Last updated 2 years ago

Was this helpful?

[TOC]


四舍五入

ROUND_UP:远离零方向舍入。向绝对值最大的方向舍入,只要舍弃位非0即进位。
ROUND_DOWN:趋向零方向舍入。向绝对值最小的方向输入,所有的位都要舍弃,不存在进位情况。
ROUND_CEILING:向正无穷方向舍入。向正最大方向靠拢。若是正数,舍入行为类似于ROUND_UP,若为负数,舍入行为类似于ROUND_DOWN。Math.round()方法就是使用的此模式。
ROUND_FLOOR:向负无穷方向舍入。向负无穷方向靠拢。若是正数,舍入行为类似于ROUND_DOWN;若为负数,舍入行为类似于ROUND_UP。
HALF_UP:最近数字舍入(5进)。这是我们最经典的四舍五入。
HALF_DOWN:最近数字舍入(5舍)。在这里5是要舍弃的。
HAIL_EVEN:银行家舍入法。

public class Test {
    public static void main(String[] args) {
        double a = 1.66728D;
        double b = 1.33333D;
        double c = 1.00000D;

        BigDecimal aa = new BigDecimal(a);
        BigDecimal bb = new BigDecimal(b);
        BigDecimal cc = new BigDecimal(c);
        System.out.println(aa.setScale(2, BigDecimal.ROUND_UP));
        System.out.println(aa.setScale(2, BigDecimal.ROUND_DOWN));
        System.out.println(bb.setScale(2, BigDecimal.ROUND_UP));
        System.out.println(bb.setScale(2, BigDecimal.ROUND_DOWN));
        System.out.println(cc.setScale(2, BigDecimal.ROUND_UP));
        System.out.println(cc.setScale(2, BigDecimal.ROUND_DOWN));
        System.out.println("-------------------------------------");
        System.out.println(aa.setScale(2, RoundingMode.UP));
        System.out.println(aa.setScale(2, RoundingMode.DOWN));
        System.out.println(bb.setScale(2, RoundingMode.UP));
        System.out.println(bb.setScale(2, RoundingMode.DOWN));
        System.out.println(cc.setScale(2, RoundingMode.UP));
        System.out.println(cc.setScale(2, RoundingMode.DOWN));

    }
}

1.67
1.66
1.34
1.33
1.00
1.00
-------------------------------------
1.67
1.66
1.34
1.33
1.00
1.00
img