【java笔记】大数操作(BigIntegerBigDecimal)
如果操作的时候,一个整数数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作
导包:import java.math
方法列表:
描述 | |
BigInteger(String val) | 将一个字符串变为BigInteger类型 |
add(BigInterger val) | 加法 |
subtract(BigInterger val) | 减法 |
multiply(BigInteger val) | 乘法 |
divide(BigInteger val) | 除法 |
mod(BigInteger val) | 取余 |
max(BigInteger val) | 返回两个大数字的最大值 |
min(BigInteger val) | 返回两个大数字的最小值 |
Biginteger[] divideAndRemainder(BigInteger val) | 除法操作,数组的第一个元素作为除法的商,第二个元素作为除法的余数 |
bool compareTo(BigInter other) | 判断是否相等 |
测试:
public class Demo {public static void main(String[] args) {String s1="123456781230123";String s2="987654321234567";BigInteger num1=new BigInteger(s1);BigInteger num2=new BigInteger(s2);System.out.println(num1.add(num2));//1111111102464690System.out.println(num1.subtract(num2));//-864197540004444System.out.println(num1.multiply(num2));//121932623467641563114289261741System.out.println(num2.divideAndRemainder(num1)[0]);//8System.out.println(num2.divideAndRemainder(num1)[1]);//71393583}
}
BigDecimal:
构造器描述
BigDecimal(int) 创建一个具有参数所指定整数值的对象。
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。 //不推荐使用
BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。//推荐使用
方法描述
add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。
subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。
multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。
divide(BigDecimal) BigDecimal对象中的值相除,然后返回这个对象。
toString() 将BigDecimal对象的数值转换成字符串。
doubleValue() 将BigDecimal对象中的值以双精度数返回。
floatValue() 将BigDecimal对象中的值以单精度数返回。
longValue() 将BigDecimal对象中的值以长整数返回。
intValue() 将BigDecimal对象中的值以整数返回。
【java笔记】大数操作(BigIntegerBigDecimal)相关推荐
- Java笔记——文件操作I/O 02
目录 File类常见方法总结编辑 相对路径 编辑 关于 内容 的读写 1.关于读 处理文本数据(字符数据) 编辑 查表法 小知识:终止 scanner.hasNext() 永久停止 写Outpu ...
- Java笔记——文件操作I/O 01
目录 认识文件 计算机的存储常识 硬盘的实现 Hard Disk Drive HDD 硬盘数据的读写->文件的读写问题 关于文件的路径 如何描述路径 在代码的字符串中如何表示这个路径 路径表示中 ...
- JAVA笔记-常用操作
一.使用String.format()格式化字符串 1:介绍 String类的format()方法用来创建格式化的字符串或者连接多个字符串对象 2:使用 Str ...
- 【连载】Java笔记——欲品香醇先度根叶
我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...
- 【连载】Java笔记——是了解咖啡小可爱的第一周呢
我是灼灼,一只初学Java的大一金渐层. 向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄:追逐过王尔德.王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔:热爱文学的浪潮,白日梦到底却总在现实里清 ...
- java笔记1/3 (B站hsp学java)
JAVA基础 文章目录 JAVA基础 变量 整形(INT) 浮点型(float/double) 字符型(char) 布尔类型(boolean) 基础数据类型的转换 自动类型转换 强制类型转换 重载 可 ...
- 11.3-全栈Java笔记:线程的生命周期
一个线程对象在它的生命周期内,需要经历5个状态. 新生状态(New) 用new关键字建立一个线程对象后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态 ...
- 10.4-全栈Java笔记:常用流详解(二)
上节我们讲到「Java中常用流:文件字节流和字节数组流」,本节我们继续走起~ 缓冲流 BufferedInputStream和BufferedOutputStream这两个流是处理流,通过内部缓存数 ...
- java中大数开方_Java中的大数运算
# 一:大数运算出现的背景 java里面整型int与浮点型float,double它们存放数据的范围是有限的,当出行更大的数值时会发生溢出. 最典型的场景是金融行业,直接使用单精度或者双精浮点数来表示 ...
- java笔记(3):String(2)
java笔记(3):String(2) 参考资料:网易云网课李兴华:http://study.163.com/course/courseMain.htm?courseId=1455026 一.字符串一 ...
最新文章
- 洛谷P1852:跳跳棋(LCA,树形结构)
- 使用AvalonDock制作WPF多标签浏览器(一)
- jaccard相似度_推荐系统中常用计算相似度的方法和工具
- data()中的数据可以直接操作
- Ubuntu设置终端相对短路径
- 员工入职是一连串事件(转)
- android提交sql语句,Android实现创建或升级数据库时执行语句
- 网络安全实验4 SQL注入攻击
- 如何玩转抖音吸粉引流,老路子新热点照样1000+
- String 与 char* 相互转换
- Visual SourceSafe Explorer界面出现乱码+字体翻转
- android虚拟按键
- 企业邮箱续费多少钱一年?企业邮箱域名到期如何续费?
- python cookies是什么_Python获取cookie有什么用
- MATLAB画旋转曲面1
- 科研论文如何讲好“故事”
- 各领域机器学习数据集汇总(附下载地址)
- vue 水印插件 插件:directives.js
- WiFi_Display_Spec
- 大数据技术之Hadoop(快速入门)