大数值——BigInteger类与BigDecimal类的概述
来源:互联网 发布:饥荒文件修改数据 编辑:程序博客网 时间:2024/06/05 08:22
大数值——BigInteger类与BigDecimal类的概述
- 大数值BigInteger类与BigDecimal类的概述
- BigInteger类
- 概述
- 测试主要方法
- BigDecimal类
- 概述
- 主要用法
- BigInteger类
BigInteger类
概述
可以让超过Integer(主要用来与String进行转换)范围内的数据进行加减乘除的运算。
测试构造方法: BigInteger(String val)
public class BigIntegerDemo { public static void main(String[] args) { // 这几个测试,是为了简单超过int范围内,Integer就不能再表示,所以就更谈不上计算了。 // Integer i = new Integer(100); // System.out.println(i); // // System.out.println(Integer.MAX_VALUE); // Integer ii = new Integer("2147483647"); // System.out.println(ii); // // NumberFormatException // Integer iii = new Integer("2147483648"); // System.out.println(iii); // 通过大整数来创建对象 BigInteger bi = new BigInteger("2147483648"); System.out.println("bi:" + bi); }}
测试主要方法:
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):返回商和余数的数组
public class BigIntegerDemo { public static void main(String[] args) { BigInteger bi1 = new BigInteger("100"); BigInteger bi2 = new BigInteger("50"); // public BigInteger add(BigInteger val):加 System.out.println("add:" + bi1.add(bi2)); // public BigInteger subtract(BigInteger val):加 System.out.println("subtract:" + bi1.subtract(bi2)); // public BigInteger multiply(BigInteger val):加 System.out.println("multiply:" + bi1.multiply(bi2)); // public BigInteger divide(BigInteger val):加 System.out.println("divide:" + bi1.divide(bi2)); // public BigInteger[] divideAndRemainder(BigInteger val):返回商和余数的数组 BigInteger[] bis = bi1.divideAndRemainder(bi2); System.out.println("商:" + bis[0]); System.out.println("余数:" + bis[1]); }}
BigDecimal类
概述
float类型的数据存储和整数不一样导致的。它们大部分的时候,都是带有有效数字位。
由于在运算的时候,float类型和double很容易丢失精度。所以,为了能精确的表示、计算浮点数,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):商,几位小数,如何舍取
public class BigDecimalDemo { public static void main(String[] args) { // System.out.println(0.09 + 0.01); // System.out.println(1.0 - 0.32); // System.out.println(1.015 * 100); // System.out.println(1.301 / 100); BigDecimal bd1 = new BigDecimal("0.09"); BigDecimal bd2 = new BigDecimal("0.01"); System.out.println("add:" + bd1.add(bd2)); System.out.println("-------------------"); BigDecimal bd3 = new BigDecimal("1.0"); BigDecimal bd4 = new BigDecimal("0.32"); System.out.println("subtract:" + bd3.subtract(bd4)); System.out.println("-------------------"); BigDecimal bd5 = new BigDecimal("1.015"); BigDecimal bd6 = new BigDecimal("100"); System.out.println("multiply:" + bd5.multiply(bd6)); System.out.println("-------------------"); BigDecimal bd7 = new BigDecimal("1.301"); BigDecimal bd8 = new BigDecimal("100"); System.out.println("divide:" + 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类与BigDecimal类的概述
- java 大数值BigInteger与BigDecimal
- java中处理高精度大数字的类 BigDecimal, BigInteger
- BigInteger类,BigDecimal类,超大数字的运算与精度
- java BigInteger BigDecimal类
- BigInteger和BigDecimal类
- BigInteger 与 BigDecimal的区别
- JAVA学习笔记——BigInteger类和BigDecimal类
- JAVA常用类之——BigInteger和BigDecimal
- 处理大数字BigInteger与BigDecimal
- 处理大数字BigInteger与BigDecimal
- 处理大数字BigInteger与BigDecimal
- 处理大数字BigInteger与BigDecimal
- 处理大数字BigInteger与BigDecimal
- 处理大数字BigInteger与BigDecimal
- 浅析java中BigDecimal大数值类的使用
- BigInteger类和BigDecimal类
- Java-BigDecimal类,BigInteger类
- Java编程基础(上)
- 通过javascript获取到css的rotation的值
- Qt/PyQt的系统托盘图标(SystemTrayIcon)实现
- C# ListView控件用法
- Agilent ADS中Verilog-A学习
- 大数值——BigInteger类与BigDecimal类的概述
- OLAP及分析工具选型
- 设计模式之单例模式
- 用AlertDialog实现程序退出提示
- public <T> void show(T t),void前面的泛型T是什么作用
- 应聘技巧(所有行业都可以使用的技巧。个人看法)
- apk反编译获取完整源码 及 apk反编译后的处理
- css3 media响应式媒体查询器用法总结
- [bigdata-51] 一个高并发的 web 爬取 状态更新系统