【JAVA基础】数值处理

BigDecimal处理

保留两位小数

https://www.cnblogs.com/jpfss/p/8072379.html

    /** 
     * 保留两位小数 
     */  
    @org.junit.Test  
    public void formatTest() {  
        double num=13.154215;  
      
        //方式一  
        DecimalFormat df1 = new DecimalFormat("0.00");  
        String str = df1.format(num);  
        System.out.println(str);  //13.15  
      
        //方式二  
        // #.00 表示两位小数 #.0000四位小数  
        DecimalFormat df2 =new DecimalFormat("#.00");  
        String str2 =df2.format(num);  
        System.out.println(str2);  //13.15  
      
        //方式三  
        //%.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f 表示浮点型  
        String result = String.format("%.2f", num);  
        System.out.println(result);  //13.15  
    }  

四舍五入保留小数

/**
     * 四舍五入保留小数点后两位,直接转成String,一般用于前端直接显示
     *
     * @param value
     * @return
     */
    public static String keep2DecimalPlaces(float value) {
        BigDecimal b1 = new BigDecimal(value);
        return b1.setScale(2, BigDecimal.ROUND_HALF_UP).toString();
    }
 /**
     * 保留小数点后两位,还返回float,一般用作后端其他的逻辑运算,
     *
     * @param value
     * @return
     */
 public static float keep2DecimalPlaces(float value) {
        BigDecimal b1 = new BigDecimal(value);
        return b1.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();
    }

使用compareTo方法比较

BigDecimal a = new BigDecimal (101);
BigDecimal b = new BigDecimal (111);
 
//使用compareTo方法比较
//注意:a、b均不能为null,否则会报空指针
if(a.compareTo(b) == -1){
    System.out.println("a小于b");
}
 
if(a.compareTo(b) == 0){
    System.out.println("a等于b");
}
 
if(a.compareTo(b) == 1){
    System.out.println("a大于b");
}
 
if(a.compareTo(b) > -1){
    System.out.println("a大于等于b");
}
 
if(a.compareTo(b) < 1){
    System.out.println("a小于等于b");
}

比较是否为正数

//signum()函数 判断 BigDecimal 的值
    if(var.signum()==1)

  {
    //var 大于 0  返回 1
    System.out.println("正数");
  } else if(var.signum()==0)

  {
    //var 等于 0 返回 0
    System.out.println("0");
    //var 小于 0 返回 -1
    System.out.println("负数");
  }
  //var 非正数
        if(var.signum()!=1)

  {
    System.out.println("非正数!");
  }

posted on 2022-08-08 14:22  舟山婠贞  阅读(32)  评论(0编辑  收藏  举报

导航