zoukankan      html  css  js  c++  java
  • BigDecimal

    对于BigDecimal的大小比较,用equals(scale是bigdecimal的保留小数点位数,比如 new Bigdecimal("1.001"),scale为3)方法的话会不仅会比较值的大小,还会比较两个对象的精确度,而compareTo方法则不会比较精确度,只比较数值的大小。b.compareTo(BigDecimal.ZERO)==0

    New Bigdecimal(int,double,long,String)

    方法:加:add(Bigdecimal);  减: subtract(BigDecimal);乘:multiply(BigDecimal);除:divide(BigDecimal)

    转字符串:toString();双精度返回:doubleValue();单精度返回:floatValue();长整数返回:longValue();整数返回:intValue()

    格式化:
    public static void main(String[] args) {
        NumberFormat currency = NumberFormat.getCurrencyInstance(); //建立货币格式化引用 
        NumberFormat percent = NumberFormat.getPercentInstance();  //建立百分比格式化引用 
        percent.setMaximumFractionDigits(3); //百分比小数点最多3位 
        
        BigDecimal loanAmount = new BigDecimal("15000.48"); //贷款金额
        BigDecimal interestRate = new BigDecimal("0.008"); //利率   
        BigDecimal interest = loanAmount.multiply(interestRate); //相乘
    
        System.out.println("贷款金额:	" + currency.format(loanAmount)); 
        System.out.println("利率:	" + percent.format(interestRate)); 
        System.out.println("利息:	" + currency.format(interest)); 
    }
    

     比较(compareTo(BigDecimal)来比较的):

    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("1");
        BigDecimal b = new BigDecimal("2");
        BigDecimal c = new BigDecimal("1");
        int result1 = a.compareTo(b);
        int result2 = a.compareTo(c);
        int result3 = b.compareTo(a);
        System.out.println(result1);
        System.out.println(result2);
        System.out.println(result3);
        
    }
    
  • 相关阅读:
    bzoj 4034 [HAOI2015]树上操作——树链剖分
    bzoj 1179 [Apio2009]Atm——SCC缩点+spfa
    bzoj 1123 [POI2008]BLO——点双连通分量
    poj1830开关问题——异或高斯消元
    bzoj2004公交线路——DP+矩阵加速递推
    bzoj2875随机数生成器——矩阵快速幂
    Splay模板
    map插入与查找
    bzoj1013高斯消元
    bzoj2257瓶子与燃料——最大公约数
  • 原文地址:https://www.cnblogs.com/zyzg/p/7650819.html
Copyright © 2011-2022 走看看