最近在做项目,对于数值得精度要求比较高,需要用到大数据,于是就和BigDecimal
打交道,发现BigDecimal 与Java基本类型的用法不同,特总结如下,希望对初学者有所帮助。
- import java.math.BigDecimal;
- import java.text.DecimalFormat;
-
- public class BigDecimalDemo {
- public static void main(String[] args) {
- BigDecimal a = new BigDecimal(100);
- BigDecimal b = new BigDecimal(20);
- BigDecimal c = new BigDecimal(123456.7897);
-
- BigDecimalDemo demo = new BigDecimalDemo();
-
- BigDecimal result1 = demo.add(a, b);
- BigDecimal result2 = demo.substract(a, b);
- BigDecimal result3 = demo.multiply(a, b);
- BigDecimal result4 = demo.divide(a, b);
- String result5 = demo.formateBigDecimal(c);
-
- System.err.println("计算两个a与b 的和 :"+result1);
- System.err.println("计算两个a与b 的差 :"+result2);
- System.err.println("计算两个a与b 的乘积 :"+result3);
- System.err.println("计算两个a与b 的除法 :"+result4);
- System.err.println("格式化 :"+result5);
- }
-
-
-
-
-
-
-
-
-
- public BigDecimal add(BigDecimal a,BigDecimal b){
- if(a!=null&&b!=null){
- return a.add(b);
- }
- return null;
- }
-
-
-
-
-
-
-
-
-
- public BigDecimal substract(BigDecimal a,BigDecimal b){
- if(a!=null&&b!=null){
- return a.subtract(b);
- }
- return null;
- }
-
-
-
-
-
-
-
-
-
- public BigDecimal multiply(BigDecimal a,BigDecimal b){
- if(a!=null&&b!=null){
- return a.multiply(b);
- }
- return null;
- }
-
-
-
-
-
-
-
-
-
- public BigDecimal divide(BigDecimal a,BigDecimal b){
-
-
-
-
-
- if(b.compareTo(new BigDecimal(0))!=0){
- return a.divide(b, 2,BigDecimal.ROUND_HALF_UP);
- }
- return null;
- }
-
-
-
-
-
-
-
-
- public String formateBigDecimal(BigDecimal a){
- if(a==null){
- return "";
- }else{
- DecimalFormat df = new DecimalFormat("###,##0.00");
- return df.format(a.doubleValue());
- }
- }
- }
Java之BigDecimal介绍
原文:http://www.cnblogs.com/jiangyea/p/3512396.html