import java.math.BigDecimal;
import static java.lang.System.out;
public class BaseClass {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("100");
BigDecimal num2 = new BigDecimal("50"); //加法
BigDecimal result1 = num1.add(num2);
out.println("和 是 : " + result1); //减法
BigDecimal result2 = num1.subtract(num2);
out.println("差 是 : " + result2); //乘法
BigDecimal result3 = num1.multiply(num2);
out.println("积 是 : " + result3); //除法
BigDecimal result4 = num1.divide(num2);
out.println("商 是 : " + result4); //比较
BigDecimal num = new BigDecimal("100"); //用做比较的值
out.println(num1.compareTo(num2)); //大于 时,返回 1
out.println(num.compareTo(num1)); //等于 时,返回 0
out.println(num2.compareTo(num1)); //小于 时,返回 -1 out.println(num1.min(num2)); //求两个数的最小值,返回小的数
out.println(num1.max(num2)); //求两个数的最大值,返回大的数 // compareTo方法比较时,不同于equals方法,需要两边都不为null,否则会报空指针异常,
// 源码如下
// public int compareTo(BigDecimal val) {
// // Quick path for equal scale and non-inflated case.
// if (scale == val.scale) {
// long xs = intCompact;
// long ys = val.intCompact;
// if (xs != INFLATED && ys != INFLATED)
// return xs != ys ? ((xs > ys) ? 1 : -1) : 0;
// }
// int xsign = this.signum();
// int ysign = val.signum();
// if (xsign != ysign)
// return (xsign > ysign) ? 1 : -1;
// if (xsign == 0)
// return 0;
// int cmp = compareMagnitude(val);
// return (xsign > 0) ? cmp : -cmp;
// } // max/min方法源代码如下
// public BigDecimal max(BigDecimal val) {
// return (compareTo(val) >= 0 ? this : val);
// }
// public BigDecimal min(BigDecimal val) {
// return (compareTo(val) <= 0 ? this : val);
// }
}
}

BigDecimal的加减乘除及比较大小的更多相关文章

  1. BigDecimal进行加减乘除计算

    以前大部分关于查询计算的逻辑是在sql语句中执行的,但是有时候会出现比较复杂的计算情况,需要我们在代码中进行计算,这个时候使用BigDecimal进行计算会很方便. BigDecimal num1 = ...

  2. BigDecimal的加减乘除,比较,小数保留

    关于BigDecimal的一些常用基本操作记录 1        BigDecimal b1 = new BigDecimal("1.124"); 2        BigDeci ...

  3. BigDecimal 精准加减乘除

    解决了double和float精确度的问题 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效 ...

  4. BigDecimal处理加减乘除

    public static void main(String[] args) { BigDecimal totalDoneAmt = new BigDecimal(2); Double d1 = ad ...

  5. BigDecimal的加减乘除

    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行 ...

  6. 价格BigDecimal的加减乘除、小数四舍五入、比较

    num2必须改用传入String类型 //加法 BigDecimal result1 = num1.add(num2); //减法 BigDecimal result2 = num1.subtract ...

  7. Java BigDecimal类的使用和注意事项

    1.对于金额相关运算,若是精度较高,基本上用BigDecimal进行运算,精度要求低的话用Long.Double即可 2.web后台接受金额用String接受,展示到前端一般也转成 String 3. ...

  8. JAVA BigDecimal 用法

    一.BigDecimal 的加减乘除 BigDecimal bignum1 = new BigDecimal("10"); BigDecimal bignum2 = new Big ...

  9. 【Java】常用数据类型转换(BigDecimal、包装类、日期等)

    新工作转到大数据方向,每天都要面对数据类型互相转换的工作,再加上先前面试发现这部分的知识盲点, 决定复习之余自己再写一套便捷的方法,以后会比较方便.(虽然公司有现成封装的类,里头还有些遗漏的地方,暂时 ...

随机推荐

  1. 读书笔记--C陷阱与缺陷(一)

    要参与C语言项目,于是作者只好重拾C语言(之前都是C++,还是C++方便). 看到大家都推荐看看  C陷阱与缺陷(C traps and pitfalls),于是好奇的开始了这本书的读书之旅. 决定将 ...

  2. Struts2拦截器配置实例

    拦截器介绍 拦截器 的使用 ,源自Spring AOP(面向切面编程)思想 拦截器 采用 责任链 模式 * 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链. * 责任链每一个节 ...

  3. HTTP协议初级入门

    Http = HyperText Transfer Protocol即超文本传输协议 HTTPS = Hyper Text Transfer Protocol over Secure Socket L ...

  4. MongoDB对应SQL语句

    -------------------MongoDB对应SQL语句------------------- 1.Create and Alter     1.     sql:         crea ...

  5. 初识php soap 学习过程中的摘抄,便于后期翻阅

    SOAP 简单对象访问协议, webService三要素 , SOAP.WSDL(WebServicesDescriptionLanguage).UDDI(UniversalDescriptionDi ...

  6. About the diffrence of wait timed_wait and block in java

    import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * * @au ...

  7. 我的Java起源

    2015年九月八号我和我爸一同去Java的培训学校,我是一名读了高一就不读的学生.抛弃高中就一个理由--不喜欢,是的,我不喜欢高中的课程.我不理解我一辈子不会出地球为什么我要学习那些内容,如果我就自己 ...

  8. zTree勾选状态的禁用节点不在选中节点里

    问题描述: 由于业务需求,需要将一部分节点设置为选中并且是禁用的状态.设置这部分节点的chkDisabled和checked属性值都为true.在zTree树上这部分节点是选中且禁用的状态,但是在保存 ...

  9. NHibernate教程(21)——二级缓存(下)

    本节内容 引入 使用NHibernate二级缓存 启用缓存查询 管理NHibernate二级缓存 结语 引入 这篇我还继续上一篇的话题聊聊NHibernate二级缓存剩下的内容,比如你修改.删除数据时 ...

  10. (5)ES6解构赋值-函数篇

    函数参数的解构赋值 function sum(x, y) { return x + y; } sum(1,2); //解构赋值 function sum([x, y]) { return x + y; ...