arg1.compareTo(arg2)
arg1 > arg2 返回 int 1
arg1 = arg2 返回 int 0
arg1 < arg2 返回 int -1

public class BigDecimalUtli {

    private static final BigDecimal zero = new BigDecimal("0");

    /** arg1 + arg2
* @param arg1
* @param arg2
* @return
*/
public static BigDecimal add(BigDecimal arg1,BigDecimal arg2){
return arg1.add(arg2);
} /** arg1 - arg2
* @param arg1
* @param arg2
* @return
*/
public static BigDecimal subtract(BigDecimal arg1,BigDecimal arg2){
return arg1.subtract(arg2);
} /** arg1 * arg2
* @param arg1
* @param arg2
* @return
*/
public static BigDecimal multiply(BigDecimal arg1,BigDecimal arg2){
return arg1.multiply(arg2);
} /** arg1 / arg2
* 默认保留两位小数,四舍五入
* @param arg1
* @param arg2
* @return
*/
public static BigDecimal divide(BigDecimal arg1,BigDecimal arg2){
if(arg2.compareTo(zero) == 0){
return new BigDecimal("0.00");
}
return arg1.divide(arg2,2,BigDecimal.ROUND_HALF_UP);
} /** 格式化小数,保留两位小数,舍入根据模式判断
* @param arg1
* @return
*/
public static BigDecimal setScale(BigDecimal arg1){
return arg1.setScale(2,BigDecimal.ROUND_HALF_UP); //四舍五入
// return arg1.setScale(2,BigDecimal.ROUND_HALF_DOWN); //五舍六入
// return arg1.setScale(2,BigDecimal.ROUND_DOWN); //直接删除多余的小数位
// return arg1.setScale(2,BigDecimal.ROUND_UP); //直接进位
}
}

BigDecimal 工具类的更多相关文章

  1. BigDecimal工具类处理精度计算

    /** * Created by My_coder on 2017-07-27. * 加减乘除计算工具类 */ public class BigDecimalUtil { private BigDec ...

  2. java BigDecimal工具类

    package com.core.calculate; import java.math.BigDecimal; import java.text.DecimalFormat; /** * Creat ...

  3. BigDecimal工具类

    package config_service.slowcity; import java.math.BigDecimal; public class ConfigServerApp { /* * 小数 ...

  4. Java工具类之——BigDecimal运算封装(包含金额的计算方式)

    日常对于金额计算,应该都是用的BigDecimal,  可是苦于没有好的工具类方法,现在贡献一个我正在用的对于数字计算的工具类,项目中就是用的这个,简单粗暴好用,话不多说,代码奉上(该工具类需要引入g ...

  5. Java的精确整数计算-Bigdecimal学习总结和工具类

    随笔:随着最近工作需要,回首需要涉及到一些精确的数据计算,就需要用到Bigdecimal,索性就趁着闲暇之余整理收集一下关于Bigdecimal的使用方法,由于时间的原因,整理的并不是特别详细,但相信 ...

  6. 简化bigdecimal计算的小工具类

    简化bigdecimal计算的小工具类 如果我们要做一个加法运算,需要先将两个浮点数转为String,然后够造成BigDecimal,在其中一个上调用add方法,传入另一个作为参数,然后把运算的结果( ...

  7. BigDecimal精确计算工具类

    前言 在实际开发中,遇到例如货币,统计等商业计算的时候,一般需要采用java.math.BigDecimal类来进行精确计算.而这类操作通常都是可预知的,也就是通用的.所以,写了个工具类来方便以后的工 ...

  8. 构造Json对象串工具类

    import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.Property ...

  9. ArithUtil工具类 : 精确计算各种运算

    package com.autoserve.mh.common.util;   import java.math.BigDecimal; import java.text.DecimalFormat; ...

随机推荐

  1. Gen对于数组Array的处理

    举个例子,如下: public void t() { String[][] a = new String[][] { { "x", "y" } }; Strin ...

  2. postgresql逻辑结构--索引(六)

    一.索引简介 二.索引分类 三.创建索引 四.修改索引 五.删除索引

  3. 误删centos的ps命令,恢复

    脑子短路将/bin/ps文件删除.发现ps命令无法用了.下面是恢复方法 1,执行rpm -qf /bin/ps 查看ps命令所需要的rpm包 [root@iZm5e727lmif5lZ ~]# rpm ...

  4. CRM项目完成实现

    这两天我们都在写项目的接口与实现的! 今天主要是遇到的问题: 当我在添加新的班级的时候,班级的老师 我需要去判断这个老师是否存在,如果不存在的话,我就要把这个老师添加到学校的员工表中! 我会先判断这个 ...

  5. POJ 2262 Goldbach's Conjecture (打表)

    题目链接: https://cn.vjudge.net/problem/POJ-2262 题目描述: In 1742, Christian Goldbach, a German amateur mat ...

  6. vue-cli + element-ui + webpack 新建项目

    1.进入项目目录 2.全局安装vue-cli 输入命令:npm install vue-cli -g 若报错:ENOENT: no such file or directory, access.... ...

  7. echart 数据视图 样式重写

    来源http://blog.csdn.net/u010705091/article/details/75212724 echarts折线图的数据视图样式重写 在echarts.js中,点击折线图的数据 ...

  8. String的equals()方法源码解析

    每个String对象在创建的时候都构造了一个char类型的final声明的不可替换数组,数组中的每一个元素即字符串对应的每一个字符如图: String的equals()在比较的时候会进行两步比较: 1 ...

  9. Access to XMLHttpRequest at 'XXX' from origin 'XX' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present o AJAX跨域请求解决方法

    今天出现了一个问题找了好久先看代码: 这可能是个BUG吧插入代码: dataType: 'jsonp', crossDomain: true, 最终:

  10. 深入理解 Java Object

    Java中的Object对象为所有对象的直接或间接父对象,里面定义的几个方法容易被忽略却非常重要.以下来自Effective Java 对Object中几个关键方法的应用说明. public clas ...