Java常用类(5)--不可变的任意精度BigInteger、BigDecimal类
文章目录
- BigInteger类
- BigDecimal类
BigInteger类
Integer类作为int的包装类,能存储的最大整型值为2^31-1,Long类也是有限的,
最大为2^63-1。如果要表示再大的整数,不管是基本数据类型还是他们的包装类
都无能为力。
java.math包的BigInteger可以表示不可变的任意精度的整数。BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。
构造器:
BigInteger(String val):根据字符串构建BigInteger对象
常用方法:
①BigInteger abs()
:返回此 BigInteger 的绝对值的 BigInteger
②BigInteger add(BigInteger val)
:返回其值为 (this + val) 的 BigInteger
③BigInteger subtract(BigInteger val)
:返回其值为 (this - val) 的 BigInteger
④BigInteger multiply(BigInteger val)
:返回其值为 (this * val) 的 BigInteger
⑤BigInteger divide(BigInteger val)
:返回其值为 (this / val) 的 BigInteger,整数
相除只保留整数部分
⑥BigInteger remainder(BigInteger val)
:返回其值为 (this % val) 的 BigInteger
⑦BigInteger[] divideAndRemainder(BigInteger val)
:返回包含 (this / val) 后跟
(this % val) 的两个 BigInteger 的数组
⑧BigInteger pow(int exponent)
:返回其值为 (this^exponent) 的 BigInteger
BigDecimal类
一般的Float类和Double类可以用来做科学计算或工程计算,但在商业计算中,要求数字精度比较高,故用到java.math.BigDecimal类。BigDecimal类支持不可变的、任意精度的有符号十进制定点数。
构造器:
①public BigDecimal(double val)
②public BigDecimal(String val)
常用方法:
①BigDecimal add(BigDecimal augend)
②BigDecimal subtract(BigDecimal subtrahend)
③BigDecimal multiply(BigDecimal multiplicand)
④BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
import java.math.BigDecimal;
import java.math.BigInteger;public class BigDecimalTest {public static void main(String[] args) {BigInteger bi = new BigInteger("12433241333123");BigDecimal bd = new BigDecimal("1241135.351");BigDecimal bd2 = new BigDecimal("1335231");System.out.println(bi);System.out.println(bd.divide(bd2, BigDecimal.ROUND_HALF_UP));System.out.println(bd.divide(bd2, 15, BigDecimal.ROUND_HALF_UP));}
}
Java常用类(5)--不可变的任意精度BigInteger、BigDecimal类相关推荐
- 返回值 包装类_(九)Java常用类
(九)Java常用类 String类 概述 /*String:字符串,使用一对""来表示. * 1.String声明为final,不能被继承. * 2.String实现了Seria ...
- Java常用类全面解析(含部分源码)
常用类 文章目录 常用类 字符串相关的类 String 类 说明 案例 String 的实例方式 String 中的常用方法 案例一 案例二 案例三 String 类与其它结构之间的转换 小复习-与基 ...
- Java高级--Java常用类
Java常用类 字符串相关的类 String String的实例化方式 String常用方法 String与字符数组转换 字符数组--->字符串 字符串--->字符数组 String与字节 ...
- JavaEE基础第9章Java常用类
第9章Java常用类 字面量的定义方式都是存在常量池中的,常量池中不会存储多个一样的字符串,在定义一个字符串的时候会先去常量池中找有没有存在的,有就将地址传过去,没有就新建. String字符串 概念 ...
- Java基础-->一篇讲全Java常用类(详细易懂,建议收藏)
Java基础–>一篇讲全Java常用类(详细易懂,建议收藏) 文章目录 Java基础-->一篇讲全Java常用类(详细易懂,建议收藏) 1.字符串相关的类 String类 概述 创建Str ...
- JAVA第七课:Eclipse常见使用与Java常用类
1. eclipse常见使用 1:基本使用A:选择一个工作空间D:\develop\eclipse-SDK-3.7.2-win64\workspaceB:如何写一个HelloWorld案例(代码以项目 ...
- JAVA常用类之比较器、System、BigInteger
本文目录 JAVA常用类 Java比较器 `Comparable`接口 定制排序`java.util.Comparator` System类 BigInteger与BigDecimal JAVA常用类 ...
- Java常用类学习笔记
Date类 Date类是在Java中获取日期时间最简单的一个类,可以通过直接实例化对象的方式获得当前的日期时间.得到的日期时间是国外的格式.Date类没有什么特殊的用法,就是简单的获取当前的日期时间. ...
- Java36——Java常用类之其他相关类
1.System类 System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包. 由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该 ...
最新文章
- 2015最流行的Android组件、工具、框架大全
- Tiny4412开发板 LED灯的控制
- 【移动开发】Android应用开发者应该知道的东西
- 天池 在线编程 到达终点
- mysql cmd 实时监控_MySQL实时监控工具orztop的使用介绍
- maven工程打包老是报错_maven工程pom文件老是报错
- Delphi 与 DirectX 之 DelphiX(80): TDIB.BlendPixel();
- Python Socket编程初探
- Python 2.x vs Python 3.x(四)—— TypeError: unhashable type
- Stanford机器学习---第4讲. 神经网络的表示 Neural Networks representation
- 从B树、B+树、B*树谈到R树
- java删除文件夹或文件
- Jira与敏捷项目管理
- 网页服务器阿帕奇怎么启动服务,阿帕奇服务器使用教程
- chrome 代理设置
- Ceph 故障排查笔记 | 万字经验总结
- 华为大佬:做一个快乐的程序员
- LPC1768的iic通讯
- IE6双倍边距问题及其解决方法
- 年轻人不讲武德,不好好上班,用HaaS监控“老板来了”
热门文章
- Eclipse对类固醇的重构
- 并发模式:生产者和消费者
- 15分钟内开始使用Amazon Web Services和全自动资源调配
- Java并发教程–阻塞队列
- 改善Java应用程序性能的快速技巧
- Spring 3.1缓存抽象教程
- Linux命令之 mkfs -- 在特定的分区创建 Linux 文件系统
- HH SaaS电商系统的商城模块设计
- 3l如何使用_慢阻肺患者如何选购呼吸机和制氧机,需要注意哪些?
- python计算方位角_实例讲解:用python 计算方位角(根据两点的坐标计算)记得收藏哦...