BigDecimal类的常用算法

    今天在写代码的时候发现一个不认识的类--BigDecimal,本着无聊的心态加上不认识这个单词,特意去百度了一下,原来这是java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。

  BigDecimal一共有4个构造方法

  BigDecimal(int) 创建一个具有参数所指定整数值的对象。

  BigDecimal(double) 创建一个具有参数所指定双精度值的对象。

  BigDecimal(long) 创建一个具有参数所指定长整数值的对象。

  BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。

  BigDecimal 的运算方式 不支持 + - * / 这类的运算 它有自己的运算方法

  BigDecimal add(BigDecimal augend) 加法运算

  BigDecimal subtract(BigDecimal subtrahend) 减法运算

  BigDecimal multiply(BigDecimal multiplicand) 乘法运算

  BigDecimal divide(BigDecimal divisor) 除法运算

  做个小例子:

  

BigDecimal bigLoanAmount = new BigDecimal("15000.48");   //创建BigDecimal对象
BigDecimal bigInterestRate = new BigDecimal("0.008");
BigDecimal bigInterest = bigLoanAmount.multiply(bigInterestRate); //BigDecimal乘法运算
NumberFormat currency = NumberFormat.getCurrencyInstance();    //建立货币格式化引用
NumberFormat percent = NumberFormat.getPercentInstance();     //建立百分比格式化用
percent.setMaximumFractionDigits(3);               //百分比小数点最多3位
//利用BigDecimal对象作为参数在format()中调用货币和百分比格式化
System.out.println("Loan amount:\t" + currency.format(bigLoanAmount));
System.out.println("Interest rate:\t" + percent.format(bigInterestRate));
System.out.println("Interest:\t" + currency.format(bigInterest));

 输出结果:

Loan amount:    ¥1,111.11
Interest rate:    0.8%
Interest:    ¥8.89

 

posted @ 2015-09-09 15:20  七律断舍离  阅读(740)  评论(0编辑  收藏  举报