BigDecimal类的加减乘除
BigDecimal类型(+ - * /)所用的属性
11.10 BigDecimal类
对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作。BigDecimal类的常用方法如表11-15所示。
表11-15 BigDecimal类的常用方法
序号 |
方 法 |
类型 |
描 述 |
1 |
public BigDecimal(double val) |
构造 |
将double表示形式转换 为BigDecimal |
2 |
public BigDecimal(int val) |
构造 |
将int表示形式转换为 BigDecimal |
3 |
public BigDecimal(String val) |
构造 |
将字符串表示 形式转换为BigDecimal |
4 |
public BigDecimal add(BigDecimal augend) |
普通 |
加法 |
5 |
public BigDecimal subtract(BigDecimal |
普通 |
减法 |
6 |
public BigDecimal multiply(BigDecimal |
普通 |
乘法 |
7 |
public BigDecimal divide(BigDecimal |
普通 |
除法 |
范例:进行四舍五入的四则运算
package org.lxh.demo11.numberdemo; import java.math.BigDecimal; class MyMath {public static double add(double d1, double d2) { // 进行加法运算BigDecimal b1 = new BigDecimal(d1);BigDecimal b2 = new BigDecimal(d2);return b1.add(b2).doubleValue();}public static double sub(double d1, double d2) { // 进行减法运算BigDecimal b1 = new BigDecimal(d1);BigDecimal b2 = new BigDecimal(d2);return b1.subtract(b2).doubleValue();}public static double mul(double d1, double d2) { // 进行乘法运算BigDecimal b1 = new BigDecimal(d1);BigDecimal b2 = new BigDecimal(d2);return b1.multiply(b2).doubleValue();}public static double div(double d1, double d2,int len) {// 进行除法运算BigDecimal b1 = new BigDecimal(d1);BigDecimal b2 = new BigDecimal(d2);return b1.divide(b2,len,BigDecimal. ROUND_HALF_UP).doubleValue();}public static double round(double d, int len) { // 进行四舍五入 操作BigDecimal b1 = new BigDecimal(d);BigDecimal b2 = new BigDecimal(1);// 任何一个数字除以1都是原数字// ROUND_HALF_UP是BigDecimal的一个常量, 表示进行四舍五入的操作return b1.divide(b2, len,BigDecimal. ROUND_HALF_UP).doubleValue();} } public class BigDecimalDemo01 {public static void main(String[] args) {System.out.println("加法运算:" + MyMath.round(MyMath.add(10.345, 3.333), 1));System.out.println("乘法运算:" + MyMath.round(MyMath.mul(10.345, 3.333), 3));System.out.println("除法运算:" + MyMath.div(10.345, 3.333, 3));System.out.println("减法运算:" + MyMath.round(MyMath.sub(10.345, 3.333), 3));} }
转载于:https://www.cnblogs.com/koal/p/4486295.html
BigDecimal类的加减乘除相关推荐
- BigDecimal类(精度计算类)的加减乘除
BigDecimal类 对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数 ...
- Java中的BigDecimal类你真的了解吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:HikariCP www.jianshu.com/p/c81 ...
- Java 中的 BigDecimal 类你了解多少?
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:什么?你还在使用fastjson,性能太差了个人原创+1博客:点击前往,查看更多 作者:HikariCP 链接: ...
- 后端:Java中的BigDecimal类你了解多少?
我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题.如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42) ...
- BigDecimal类的使用
BigDecimal类的使用 一般常用的数据类型int和double类型但是在项目中我们会使用到大整数的处理类BigDecimal类 它有着自己的加减乘除和比较大小的方法 一.BigDecimal加减 ...
- Java常用接口与类——Math类、Random类、BigDecimal类
>Math类 功能:Math类是用来搞数学相关计算的类,构造函数私有化,有很多静态方法: >方法举例,详见API文档 Math.random();//随机返回一个零到一百之间的小数: 另外 ...
- Java中BigDecimal类型的加减乘除及大小比对
Java中BigDecimal类型的加减乘除及大小比对 前言 BigDecimal解释 创建BigDecimal类型 加减乘除计算 结果分析 结论 除法的补充 两个BigDecimal的比对 前言 在 ...
- Java中的BigDecimal类你了解多少?
点击上方"IT牧场",选择"设为星标"技术干货每日送达! 来源:https://urlify.cn/naiEva 前言 我们都知道浮点型变量在进行计算的时候会出 ...
- JAVA基础再回首(十三)——BigInteger类、BigDecimal类、Date类、DateFormat类、Calendar类
JAVA基础再回首(十三)--BigInteger类.BigDecimal类.Date类.DateFormat类.Calendar类 版权声明:转载必须注明本文转自程序员杜鹏程的博客:http://b ...
最新文章
- linux网卡设置adsl上网,Linux下设置ADSL自动拨号上网
- python代码实现二叉树的镜像树
- 新华网泸州分频道报道IT诗人
- sqlserver2008 安装时需要重启的解决办法
- UVA - 11437 Triangle Fun(简单几何)
- 北森iTalentX 3.0:聚焦场景一体,开启HR全面数字化时代
- 高通最强芯片855发布!AI性能比华为苹果翻倍,商用5G,标配屏下指纹
- 【例9.3】求最长不下降序列
- 比特币创业公司Circle首获数字货币许可证
- 零售券商之王:零佣金的罗宾侠的400亿美金
- WebService
- Linux驱动开发: USB驱动开发
- 【一起学Rust · 项目实战】命令行IO项目minigrep——测试驱动开发完善功能
- 一个放在口袋里的项目,将社交裂变做到了极致
- 用tbtools基因家族分析《一》
- IP0_Verilog实现基于双线性插值算法的图像放大IP设计
- 大数据面试题汇总(含数仓)
- bzoj 1106: [POI2007]立方体大作战tet(贪心+树状数组)
- 苹果手机升级13无法开机_苹果手机更新时突然断电,手机无法开机,为什么?...
- 加州洛杉矶计算机研究生,加州洛杉矶计算机硕士文书要求