BigDecimal数据的加 减 乘 除 N次幂运算 以及比较大小
在实际开开发过程中BigDecimal是一个经常用到的类:
它可以进行大数值的精确却运算,下面介绍一下它的加-减-乘-除以及N次幂的操作操作
import java.math.BigDecimal;
public class Test02 {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal(5000);
BigDecimal num2 = new BigDecimal(20);
BigDecimal num3 = new BigDecimal(0);
BigDecimal num4 = new BigDecimal(20);
//加法 add
System.out.println("**********加法运算 add ****************");
num3 = num1.add(num2);
System.out.println(num1+"+"+num2+"="+num3);
//减法 subtract
System.out.println("**********减法运算 subtract****************");
num3 = num1.subtract(num2);
System.out.println(num1+"-"+num2+"="+num3);
//除法 divide
System.out.println("**********除法运算 divide****************");
num3 = num1.divide(num2);
System.out.println(num1+"/"+num2+"="+num3);
//乘法
System.out.println("**********乘法运算 multiply ****************");
num3 = num1.multiply(num2);
System.out.println(num1+"*"+num2+"="+num3);
//N次幂
System.out.println("**********N次幂运算 pow****************");
num3 = num1.pow(2);
System.out.println(num1+"^"+2+"="+num3);
//比较 -1 小于 0 等于 1 大于
System.out.println("**********比较 -1 小于 0 等于 1 大于****************");
int i = num1.compareTo(num2);
int j = num4.compareTo(num2);
int k = num3.compareTo(num2);
System.out.println(num1+"大于"+num2+"====compareTo结果是"+i);
System.out.println(num4+"等于"+num2+"====compareTo结果是"+j);
System.out.println(num3+"小于"+num2+"====compareTo结果是"+k);
System.out.println(num1+"/"+33+num1.divide(new BigDecimal(33),2, BigDecimal.ROUND_HALF_EVEN)+"保留两位小数");
}
}
运算结果:

在进行除法运算时很容易出现不整除的现象,不整除就会报出如下错误:
Exception in thread "main" java.lang.ArithmeticException:
出现此错误时:使用BigDecimal.ROUND_HALF_EVEN
System.out.println(num1+"/"+33+num1.divide(new BigDecimal(33),2, BigDecimal.ROUND_HALF_EVEN)+"保留两位小数");
为不整除的书保留两位小数显示
BigDecimal数据的加 减 乘 除 N次幂运算 以及比较大小的更多相关文章
- freemarker 数据做加减计算
controller的部分: @Controller@RequestMapping("/ContactsFrameIndex")public class ContactsFrame ...
- jQuery实现购物车物品数量的加减
基于jquery的一款代码,实现购物车数据的加减,在淘宝网.京东商城购物时时经常见到的一个功能,点击文本框两侧的“+”与“-”,就可以增加或减少文本框内的数字值,每次步长为1,当然这个是可以自己设置的 ...
- SQLServer学习笔记<>日期和时间数据的处理(cast转化格式、日期截取、日期的加减)和 case表达式
日期和时间数据的处理. (1)字符串日期 ‘20080301’,这一串为字符串日期,但必须保证为四位的年份,两位的月份,两位的日期.例如,查询订单表日期大于‘20080301’.可以这样写: 1 se ...
- mysql中使用日期加减时无法识别年-月格式数据的问题,%Y-%m"这种格式数据
最新做报表统计的时候处理按月统计部分时发现,虽然使用 DATE_FORMAT( time, '%Y-%m' ) 函数可以将日期格式转成年-月,但是如果是参数是年-月格式,即"2018-10& ...
- BigDecimal数据加法返回值接收
1.相加 两个BigDecimal变量a,b. 如果想进行相加,即a加b的话,返回值需要使用a进行接收,如下: a = a.add(b); BigDecimal为不可变类, 所以执行运算的结果需要再返 ...
- Java 中日期的几种常见操作 —— 取值、转换、加减、比较
Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提 ...
- ORACLE日期加减【转】
首先,感谢这个作者的辛勤汗水给我们带来的总结,因为日期函数操作对平时的使用真的是很常用,所以收藏一下以作后期使用. 原贴地址:http://www.cnblogs.com/xiao-yu/archiv ...
- Android 自定义控件 EditText输入框两边加减按钮Button
自己封装的一个控件:EditText两边放加减按钮Button来控制输入框的数值 Demo 下载地址: 第一版:http://download.csdn.net/detail/zjjne/674086 ...
- 线性代数-矩阵-【3】矩阵加减 C和C++实现
点击这里可以跳转至 [1]矩阵汇总:http://www.cnblogs.com/HongYi-Liang/p/7287369.html [2]矩阵生成:http://www.cnblogs.com/ ...
随机推荐
- Java字节码方法表与属性表详解
继续跟着上一次[https://www.cnblogs.com/webor2006/p/9502507.html]的那10个代表code的字节分析,如下: 而这些字节其实对应的信息是它: 所以问题就来 ...
- 从c到c++<一>
逻辑型也称布尔型,其取值为true(逻辑真)和false(逻辑假),存储字节数在不同编译系统中可能有所不同,VC++中为1个字节. 声明方式: bool result; result=true; 可以 ...
- bitset 来计算位
在stl中提供了 bitset<N> 来计算位,非常方便. 尤其是计算键盘的状态时游泳 ; bitset<> bs = s; cout<<bs[]<<e ...
- 详解es6中Proxy代理对象的作用
在es6中新添加了Proxy,那么它有什么作用啊?Proxy本意为代理,而es6中的Proxy也就是代理对象,那么代理对象感觉听起来很模糊,在这里就解释一下Proxy代理对象的作用. Proxy的主要 ...
- Lua 学习之基础篇四<Lua table(表)>
table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组.字典等. Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil. Lua ta ...
- hibernate步骤和配置
1.引入hibernate的jar包和数据库驱动包 2.src添加hibernate.cfg.xml(hibernate配置文件) 3.数据库编写pojo public class Test { pu ...
- Shell 脚本来自动监控 Linux 系统的内存
# vim /scripts/swap-warning.sh #!/bin/bash #提取本服务器的IP地址信息 IP=`ifconfig eth0 | grep "inet addr&q ...
- .net SerialPort
虚拟串口并定时向虚拟串口定时发数据 http://scorpiomiracle.iteye.com/blog/653923 C#中如何使用SerialPort控件向单片机发送数据? http://zh ...
- Python常用知识
基础模板(sys.os) http://c.biancheng.net/view/2407.html cmd中查看第三方库 eg:import aiohttp help(aiohttp) 或者dir( ...
- C到汇编[1]
这篇文字解释这个问题:C语言函数调用在汇编语言是怎么实现的?栈模型很好的满足了函数调用的需求,以最简单的函数调用说明. : int add2(int a, int b){return a+b;} 00 ...