- BigDecimal.ROUND_HALF_UP
- BigDecimal.ROUND_HALF_EVEN 银行家舍入
- BigDecimal.ROUND_HALF_DOWN 五舍六入
- BigDecimal.ROUND_CEILING 向上取整
- BigDecimal.ROUND_FLOOR 向下取整
- 比较大小
package com.zx.jvm;
import java.math.BigDecimal;
public class BigDecimalExample {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("3.335");
System.out.println(b1.setScale(2, BigDecimal.ROUND_HALF_UP));
System.out.println("--------银行家舍入--------");
BigDecimal b2 = new BigDecimal("3.2251");
System.out.println(b2.setScale(2, BigDecimal.ROUND_HALF_EVEN));
BigDecimal b3 = new BigDecimal("3.365");
System.out.println(b3.setScale(2, BigDecimal.ROUND_HALF_EVEN));
BigDecimal b4 = new BigDecimal("3.335");
System.out.println(b4.setScale(2, BigDecimal.ROUND_HALF_EVEN));
System.out.println("--------五舍六入---------");
BigDecimal roundHalfDownOne = new BigDecimal("27.6750").setScale(2, BigDecimal.ROUND_HALF_DOWN);
BigDecimal roundHalfDownTwo = new BigDecimal("27.6751").setScale(2, BigDecimal.ROUND_HALF_DOWN);
System.out.println("27.6750-五舍六入-保留两位小数:" + roundHalfDownOne);
System.out.println("27.6751-五舍六入-保留两位小数:" + roundHalfDownTwo);
System.out.println("_------向上取整----------");
BigDecimal b = new BigDecimal("3.3301");
System.out.println(b.setScale(2, BigDecimal.ROUND_CEILING));
b = new BigDecimal("3.3300");
System.out.println(b.setScale(2, BigDecimal.ROUND_CEILING));
b = new BigDecimal("-3.3391");
System.out.println(b.setScale(2, BigDecimal.ROUND_CEILING));
System.out.println("-----向下取整");
b = new BigDecimal("3.1400");
System.out.println(b.setScale(2, BigDecimal.ROUND_FLOOR));
b = new BigDecimal("-3.1409");
System.out.println(b.setScale(2, BigDecimal.ROUND_FLOOR));
System.out.println("---------比较大小-------------");
BigDecimal ab = new BigDecimal("4.09");
BigDecimal bb = new BigDecimal("4.009");
int i = ab.compareTo(bb);
System.out.println(i>=0);
System.out.println(i<0);
}
}