java四舍五入BigDecimal

来源:互联网 发布:c语言苹果和虫子 编辑:程序博客网 时间:2024/05/01 16:59
java四舍五入

package Test;

import java.math.BigDecimal; //引入这个包

public class Test {
  public static void main(String[] args) {

   double i = 3.856;

   // 舍掉小数取整
   System.out.println("舍掉小数取整:Math.floor(3.856)=" + (int) Math.floor(i));

   // 四舍五入取整
   System.out.println("四舍五入取整:(3.856)="
     + new BigDecimal(i).setScale(0, BigDecimal.ROUND_HALF_UP));

   // 四舍五入保留两位小数
   System.out.println("四舍五入取整:(3.856)="
     + new BigDecimal(i).setScale(2, BigDecimal.ROUND_HALF_UP));

   // 凑整,取上限
   System.out.println("凑整:Math.ceil(3.856)=" + (int) Math.ceil(i));

   // 舍掉小数取整
   System.out.println("舍掉小数取整:Math.floor(-3.856)=" + (int) Math.floor(-i));
   // 四舍五入取整
   System.out.println("四舍五入取整:(-3.856)="
     + new BigDecimal(-i).setScale(0, BigDecimal.ROUND_HALF_UP));

   // 四舍五入保留两位小数
   System.out.println("四舍五入取整:(-3.856)="
     + new BigDecimal(-i).setScale(2, BigDecimal.ROUND_HALF_UP));

   // 凑整,取上限
   System.out.println("凑整(-3.856)=" + (int) Math.ceil(-i));
  }
}

 

 

//打印的结果

舍掉小数取整:Math.floor(3.856)=3
四舍五入取整:(3.856)=4
四舍五入取整:(3.856)=3.86
凑整:Math.ceil(3.856)=4
舍掉小数取整:Math.floor(-3.856)=-4
四舍五入取整:(-3.856)=-4
四舍五入取整:(-3.856)=-3.86
凑整(-3.856)=-3