Java类及其常用方法(六)BigDecimal
来源:互联网 发布:淘宝海外全球购 编辑:程序博客网 时间:2024/05/01 18:09
BigDecimal类:
运算的时候,float类型和double类型(浮点类型)会丢失数据,不精确,大部分的时候数据存储和整数类型存储不一致,属于有效位数字不精确
因此Java提供了一个类:BigDecimal
作用:不可变的,任意精度的有符号十进制数,让运算更精确
1. BigDecimal构造方法:
publicBigDecimal(String val)
2. BigDecimal常用的方法:
PublicBigDecimal add(BigDecimal augend)加
Public BigDecimalsubtract(BigDecimal subtrahend)减
PublicBigDecimal multiply(BigDecimal multiplicand)乘
PublicBigDecimal divide(BigDecimal divisor)除
PublicBigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
参数1:BigDecimal divisor表示商
参数2:int scale取的有效数字
参数3:int roundingMode舍入的一种模式
代码:
public class BigDecimalDemo2 {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal("0.03");
BigDecimal bd2 = new BigDecimal("0.07") ;
System.out.println("add:"+bd1.add(bd2));
BigDecimal bd3 = new BigDecimal("1.0");
BigDecimal bd4 = new BigDecimal("0.28");
System.out.println("sub:"+bd3.subtract(bd4));
//publicBigDecimal multiply(BigDecimal multiplicand)
BigDecimal bd5 = new BigDecimal("1.301") ;
BigDecimal bd6 = new BigDecimal("100") ;
System.out.println("mul:"+bd5.multiply(bd6));
//publicBigDecimal divide(BigDecimal divisor)
BigDecimal bd7 = new BigDecimal("1.301");
BigDecimal bd8 = new BigDecimal("100");
System.out.println("div:"+bd7.divide(bd8));
System.out.println("divide:"+bd7.divide(bd8, 3, BigDecimal.ROUND_HALF_UP));
System.out.println("divide:"+bd7.divide(bd8, 8, BigDecimal.ROUND_HALF_UP));
}
}
BigInteger类:
BigInteger用来计算超出int范围的数据的运算
常用的构造犯法:
publicBigInteger(String val):以字符串的形式表现一个十进制数据
常用的方法:
publicBigInteger add(BigIntegerval):加
publicBigInteger subtract(BigIntegerval):
publicBigInteger multiply(BigIntegerval):乘
publicBigInteger divide(BigIntegerval)
public BigInteger[]divideAndRemainder(BigIntegerval):返回的是数组(商和余数)
代码:
public class BigIntegerDemo2 {
public static void main(String[] args) {
//定义两个BigInteger的数据
BigInteger b1 = new BigInteger("128");
BigInteger b2 = new BigInteger("42");
// public BigInteger add(BigIntegerval):加
System.out.println("add:"+b1.add(b2));
//publicBigInteger subtract(BigIntegerval):减
System.out.println("sub:"+b1.subtract(b2));
//publicBigInteger multiply(BigIntegerval):乘
System.out.println("mul:"+b1.multiply(b2));
// public BigInteger divide(BigIntegerval)
System.out.println("div:"+b1.divide(b2));
// public BigInteger[]divideAndRemainder(BigIntegerval):返回的是数组(商和余数
BigInteger[] bi =b1.divideAndRemainder(b2);
System.out.println("bi[0]:"+bi[0]);
System.out.println("bi[0]:"+bi[1]);
}
}
- Java类及其常用方法(六)BigDecimal
- 【JavaSE笔记】Java常用类及其方法(六)_BigDecimal
- 关于java.math.BigDecimal类常用方法
- 关于java.math.BigDecimal类常用方法
- BigDecimal常用方法工具类
- 45、java常用类-BigDecimal
- Java对BigDecimal常用方法的归类
- Java对BigDecimal常用方法的归类
- Java对BigDecimal常用方法的归类
- Java常用类及其常用方法
- java中常用类及其常用方法
- 【Java常用类库】_大数操作(BigIntger、BigDecimal)
- 【Java常用类库】_大数操作(BigIntger、BigDecimal)
- 【Java常用类库】_大数操作(BigIntger、BigDecimal)
- java常用类库---大数操作(BigInteger,BigDecimal)
- BigDecimal常用方法
- BigDecimal常用方法
- BigDecimal 常用方法
- 位运算训练03—输入一个整数a,再输入两个整数p1,p2(p1,p2<32);将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出
- 一次性导入文件夹下想获取的数据到数据库
- rdlc报表设置页码及总页数
- python文件操作常用命令
- 切换白天黑夜模式
- Java类及其常用方法(六)BigDecimal
- BZOJ 1833 count 数字计数 (数位DP)
- SQLite学习手册(开篇)
- java后台删除html标签的方法
- 'gbk' codec can't decode byte 0x80 in position
- 并查集专题
- STM32F107——OTG模块之USB设备之虚拟串口移植(二)
- 剑指offer——7.斐波那契数列
- 自定义view圆并随手指移动