【JavaSE_学习笔记】BigDecimal类与BigInteger类
来源:互联网 发布:淘宝上退款多久能到账 编辑:程序博客网 时间:2024/06/06 02:51
【JavaSE_学习笔记】BigDecimal类与BigInteger类
BigDecimal类
对于浮点类型的数据,他们的存储和整数的存储是不一样的,是按照有效数字位来进行存储的,浮点类型的数据计算时容易损失精度,计算出的结果不准确,为此Java提供了BigDecimal类。
BigDecimal作用:来提供浮点类型数据的精确计算!可变的、任意精度的有符号十进制数
构造方法:
public BigDecimal(String val)
常用方法:
public BigDecimal add(BigDecimal augend):加
public BigDecimal subtract(BigDecimal subtrahend):减
public BigDecimal multiply(BigDecimal multiplicand):乘
public BigDecimal divide(BigDecimal divisor):除
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
参数1:商,参数2:保留几位小数,参数3:舍入的一种模式:ROUND_HALF_UP
举例:
package demotest_BigDecimal;import java.math.BigDecimal;public class Demo1 { public static void main(String[] args) { //创建BigDecimal对象 BigDecimal bd1 = new BigDecimal("0.01") ; BigDecimal bd2 = new BigDecimal("0.09") ; System.out.println("add:"+bd1.add(bd2));//add:0.10 BigDecimal bd3 = new BigDecimal("1.0") ; BigDecimal bd4 = new BigDecimal("0.32") ; System.out.println("sub:"+bd3.subtract(bd4));//sub:0.68 BigDecimal bd5 = new BigDecimal("1.501") ; BigDecimal bd6 = new BigDecimal("100.0") ; System.out.println("mul:"+bd5.multiply(bd6));//mul:150.1000 BigDecimal bd7 = new BigDecimal("1.301") ; BigDecimal bd8 = new BigDecimal("100") ; System.out.println("div:"+bd7.divide(bd8));//div:0.01301 System.out.println("div:"+bd7.divide(bd8, 3, BigDecimal.ROUND_HALF_UP));//div:0.013 System.out.println("div:"+bd7.divide(bd8, 8, BigDecimal.ROUND_HALF_UP));//div:0.01301000 }}
BigInteger类
BigInteger作用:用来计算超出了Integer类型范围的数据
构造方法:
public BigInteger(String val)将字符串表示的数字封装成BigInteger类型
常用方法:
public BigInteger add(BigInteger val) 加
public BigInteger subtract(BigInteger val) 减
public BigInteger multiply(BigInteger val) 乘
public BigInteger divide(BigInteger val) 除
public BigInteger[] divideAndRemainder(BigInteger val)
返回一个BigInteger数组,数组中的元素:商,余数
举例:
public class BigIntegerDemo2 { public static void main(String[] args) { //创建BigInteger对象 BigInteger bg1 = new BigInteger("100") ; BigInteger bg2 = new BigInteger("50") ; System.out.println("add:"+bg1.add(bg2)); System.out.println("sub:"+bg1.subtract(bg2)); System.out.println("mul:"+bg1.multiply(bg2)); System.out.println("div:"+bg1.divide(bg2)); BigInteger[] datas = bg1.divideAndRemainder(bg2) ; System.out.println("datas[0]:"+datas[0]);//2 System.out.println("datas[1]:"+datas[1]);//0 }}
- 【JavaSE_学习笔记】BigDecimal类与BigInteger类
- JAVA学习笔记——BigInteger类和BigDecimal类
- 【JAVASE_学习笔记】类与对象
- 【JAVASE_学习笔记】抽象类与接口
- BigDecimal和BigInteger类基础笔记
- java学习之BigInteger类、BigDecimal类
- java BigInteger BigDecimal类
- BigInteger和BigDecimal类
- 【JavaSE_学习笔记】File类
- 【JavaSE_学习笔记】Date类SimpleDateFormat类与Calendar类
- 【JavaSE_学习笔记】System类与Math类
- 【JavaSE_学习笔记】排序、二分查找与数组工具类
- (30)Java学习笔记——常用对象 / BigInteger 类 / BigDecimal 类
- 【JavaSE学习笔记】常用类介绍03_Character,Arrays,BigDecimal,BigInteger,Calendar
- BigInteger类和BigDecimal类
- Java-BigDecimal类,BigInteger类
- 高精度运算类(BigInteger,BigDecimal)
- 类:BigDecimal,BigInteger,Math,System
- C++中endl的本质是什么
- 多线程
- apaceh2.4虚拟多站点httpd-vhosts.conf
- 数的子结构
- 常用集合类总结(java)
- 【JavaSE_学习笔记】BigDecimal类与BigInteger类
- 数独问题的c++解决
- Maven基础
- [caffe使用]caffe使用中可能遇到的问题总结
- Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
- Angular4 中显示内容的 CSS 样式
- 在UITableView的header上加阴影
- Android实现闪屏页面+视频引导页
- leetcode10 Regular Expression Matching @python