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. DOM 对象方法

    DOM 对象方法 这里提供一些您将在本教程中学到的常用方法: 方法 描述 getElementById() 返回带有指定 ID 的元素. getElementsByTagName() 返回包含带有指定 ...

  2. bzoj 3529 数表

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3529 题目大意:令F(i)为i的约数和,多次询问对于1<=x<=n,1< ...

  3. BestCoder Round #32_1001 以及 hdu 5182

    http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=570&pid=1001 http://acm.hdu. ...

  4. 有哪些关于 Python 的技术博客?

    Python是一种动态解释型的编程语言,它可以在Windows.UNIX.MAC等多种操作系统以及Java..NET开发平台上使用.不过包含的内容很多,加上各种标准库.拓展库,乱花渐欲迷人眼.因此如何 ...

  5. 使用反射+策略模式代替项目中大量的switch case判断

    我这里的业务场景是根据消息类型将离线消息存入mongoDB不同的collection中.其中就涉及到大量的分支判断,为了增强代码的可读性和可维护性,对之前的代码进行了重构. 先对比一下使用反射+策略模 ...

  6. js 对于回车时间的监听,提交表单

    // ------ 监听回车事件 -----------------// document.onkeydown=keyDownSearch; function keyDownSearch(e) { / ...

  7. mha 复制检查报错“There is no alive server. We can't do failover”

    安装mha所参考的文章: http://linzhijian.blog.51cto.com/1047212/1906434 http://www.cnblogs.com/xiaoboluo768/p/ ...

  8. mkyaffs2image制作根文件系统、使用NFS挂载虚拟机目录(2)

    1.制作根文件系统及nfs烧写 1.1 先解压文件系统,/wok/nfs_root 目录下是已经构造好的各种文件系统:① fs_mini.tar.bz2 是最小的根文件系统,里面的设备节点是事先建立好 ...

  9. 在windows中,使用SSH登录VMware ubuntu linux虚拟机

    测试环境 主机:window7 sp1 64位 专业版 虚拟机:VMware workstation 12 player 虚拟机操作系统: ubuntu 16.4 目标:在ubuntu下运行SSH服务 ...

  10. 自制ACL+DHCP实验(初版)

    (实验用gns模拟器) ACL 实验拓扑: 实验要求: 1.1.1.1→3.3.3.3 不通 11.11.11.11→3.3.3.3 通 2.2.2.2→3.3.3.3 通 实验步骤: 步骤一:基本配 ...