BigDecimal类

对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数的操作。BigDecimal类的常用方法如表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
subtrahend)

普通

减法

6

public BigDecimal multiply(BigDecimal
multiplicand)

普通

乘法

7

public BigDecimal divide(BigDecimal
divisor)

普通

除法

进行四舍五入的四则运算demo.

package test;

import java.math.BigDecimal;

class MyMathTest {

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/xubiao/p/5461697.html

BigDecimal类(精度计算类)的加减乘除相关推荐

  1. 编程题【Math类】计算类

    /*** ## 编程题[Math类]* 参考API文档完成下面需求:* 编程进行以下运算:* 请计算3的5次幂* 请计算3.2向上取整的结果* 请计算3.8向下取整的结果* 请计算5.6四舍五入取整的 ...

  2. 计算机学院类脑计算,类脑计算丨CNCC技术论坛

    报告一题目:学习与记忆研究的最新进展 摘要:本报告介绍大规模神经记录技术以及解码记忆在群体神经元网络中的编码规则.详细介绍自己团队近十年的大脑破译研究,在大脑工作原理的理论框架上取得了两大突破.一是于 ...

  3. 常用类 (三) ----- BigDecimal和BigInteger大数类

    相关文章: <常用类 (一) ----- Arrays数组工具类> <常用类 (二) ----- Math类> <常用类 (三) ----- BigDecimal和Big ...

  4. JAVA基础再回首(十三)——BigInteger类、BigDecimal类、Date类、DateFormat类、Calendar类

    JAVA基础再回首(十三)--BigInteger类.BigDecimal类.Date类.DateFormat类.Calendar类 版权声明:转载必须注明本文转自程序员杜鹏程的博客:http://b ...

  5. BigDecimal运算的工具类

    使用BigDecimal运算的工具类 package com.leo.demo.bigdecimaltest;/*** @ClassName: BigDecimalTest* @Description ...

  6. Math类,随机数Random类,System类,BigInteger类,BigDecimal类,Date类,Calendar类

    Math类概述:Math 类涵盖了很多执行基本数学运算的方法, 是一个工具类. package com.sxt.mathdemo;/** Math类概述:Math 类涵盖了很多执行基本数学运算的方法, ...

  7. Day20.常用类:Date类、LocalTime、Math类、bigDecimal、Arrays、枚举

    目录 日期类(Date) 日期格式化(SimpleDateFormat) 时间戳 (currentTimeMillis方法) 日历类 Calendar JDK8后日期类(LocalTime) Math ...

  8. 15.Java-正则表达式、Pattern和Matcher类、Math类、Random类、System类、BigDecimal类、BigInteger类

    15.Java-正则表达式.Pattern和Matcher类.Math类.Random类.System类.BigDecimal类.BigInteger类 一.正则表达式的概述和简单使用 A:正则表达式 ...

  9. 正则表达式、常用类(Pattern类、Matcher类、Math类、System类、Random类、BigDecimal类、Date类、SimpleDateFormat类、Calendar类)

    JAVA学习第十六天-正则表达式.常用类(Pattern类.Matcher类.Math类.System类.Random类.BigDecimal类.Date类.SimpleDateFormat类.Cal ...

最新文章

  1. debian php mysql 包_Linux+Varnish+Apache+MySQL+PHP一键包For Ubuntu/Debian
  2. 微信上线新功能:再也不怕好友赖账了
  3. 【控制】贪心算法(GA,Greedy Algorithm)及 Matlab 实现
  4. java数字排序代码,进阶加薪全靠它!
  5. 和catch的区别_BIO、NIO、AIO 的区别是什么?
  6. 速卖通手机端怎样加入html,如何正确使用速卖通手机版的关联营销模板
  7. 1. 方程求根(二分法)
  8. Tensflow学习笔记(一)——TF生成并查看数据
  9. 安装ps时无法验证订阅状态_关于宝马B38/B48发动机无法启动的技术通报
  10. app index.html,create-react-app搭建react开发环境中的public/index.html.
  11. ai作文批改_每日即评 | 积极适应“AI批改作文”的潮流
  12. 福利:阿里巴巴Java开发手册(第2版)
  13. python什么为假_Python返回真假值(True or False)小技巧
  14. github上如何下载单个文件
  15. css所有缩写属性,CSS常见属性缩写与全写对比
  16. 博瑞ge 加装无线 carpaly方法和效果展示
  17. 批量上传不同图片(网易邮箱添加附件的应用)
  18. 【数据治理-01】开篇:一起聊聊数据治理
  19. 录屏软件哪个好?五款免费视频录屏软件
  20. OpenGL之常用方法整理

热门文章

  1. docker build命令详解_Docker 搭建你的第一个 Node 项目到服务器
  2. iframe 返回上一页_寻找高颜值小姐姐难吗!直到我在Github上发现了这个Python库
  3. java 方法 变量_Java-变量和方法
  4. flutter图片识别_Flutter 资源和图片
  5. python图像验证码识别_python 简单图像识别--验证码
  6. stringbuffer的最大长度_Java中的String、StringBuffer和StringBuilder
  7. linux patches工具,patch工具入门
  8. mysql 启动安全模式_“ Word上次启动时失败,以安全模式启动Word ....”解决办法...
  9. 岳阳机器人餐厅在哪_从机器人咖啡看未来餐饮行业大方向,如何才能活下去?...
  10. mysql存储base64位用什么类型_【漫画】面试现场:为什么MySQL数据库要用B+树存储索引?...