大数字操作、BigInteger的使用 BigDecimal(很大的小数)

 1 public class Test4 {
 2 public static void main(String[] args) {
 3     BigInteger num1=new BigInteger("123456789123456789123456789");
 4     BigInteger num2=new BigInteger("2345678901234567890");
 5     System.out.println("加:"+(num1.add(num2)));
 6     System.out.println("减:"+(num1.subtract(num2)));
 7     System.out.println("乘:"+(num1.multiply(num2)));
 8     System.out.println("除:"+(num1.divide(num2)));
 9     System.out.println("模:"+(num1.remainder(num2)));
10     BigInteger[] num3=(num1.divideAndRemainder(num2));
11     for (BigInteger big: num3) {
12         System.out.println("商和余数各为"+big);
13     }
14
15     BigDecimal num4=new BigDecimal("999999999999999999999999999999999999.999999999999999999");
16     BigDecimal num5=new BigDecimal("8999999999999999999999999999999999999999999.999999999999");
17
18     System.out.println("和:"+(num4.add(num5)));
19     System.out.println("减:"+(num4.subtract(num5)));
20     System.out.println("乘:"+(num4.multiply(num5)));
21     System.out.println("除:"+(num4.divide(num5,5,BigDecimal.ROUND_HALF_DOWN)));
22
23 }
24 }

在有些项目中需要操作很大的数字的计算,在java中提供了两个常用的类来对大数字进行操作

时间: 2024-10-04 14:47:48

大数字操作、BigInteger的使用 BigDecimal(很大的小数)的相关文章

java大数字操作:BigInteger,BigDecimal(浮点型)

java大数字操作: BigInteger:大数字整型的 BigDecimal(浮点型):大数字小数的,也适用大的整数 BigInteger: String num1 = "100381828646148164"; String num2 = "10998979766868"; BigInteger big1 = new BigInteger(num1); BigInteger big2 =new BigInteger(num2); System.out.print

数字(数学)操作类 Math Random 类 ,大数字操作类

Math 提供了大量的数学操作方法 Math类中所有的方法都是static 方法 重点看这个操作,四舍五入 System.out.println(Math.round(-16.5)) ; -16 System.out.println(Math.round(16.5)) ; 17 大于等于0.5进位. Random类 取得随机数的类 java.util 包 产生100之内的随机整数 Random rand = new Random() ; for(int x = 0 ; x < 10 ; x ++

java学习笔记——大数据操作类

java.math包中提供了两个大数字操作类:BigInteger(大整数操作类) BigDecimal(大小数操作类). 大整数操作类:BigInteger BigInteger类构造方法:public BigInteger(String val) 常用方法:public BigInteger add(BigInteger val) public BigInteger subtract(BigInteger val) public BigInteger multiply(BigInteger

【小技巧】当对服务器做大负荷操作,如何禁止普通用户登录

日常运维中当我们在对服务器(root用户)做大负荷操作时(占用系统资源较大),不希望普通用户来登录服务器进行其他操作,该怎么做呢? 接下来就是见证奇迹的时刻(图片中左侧为root用户,右侧为普通用户登录测试)为了验证,临时新增了sunny用户,先登录一下,确认可以登录 OK,现在使用root用户 执行 touch /etc/nologin再使用sunny用户登录看下啊哦 sunny登录不上了再来一遍,新建用户tom,依然登录不了:root可正常登录 这就达到了标题的要求了.当服务器大负荷操作完成

数字操作类Math,Random,BigInteger,BigDecimal

数字操作类 Math, 1.java.lang 类 Math public final class Mathextends Object Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 从以下版本开始: JDK1.0 public static double random()                 System.out.println(Math.round(10.45));  //10 System.out.println(Math.round(10.

MyBatis-plus 新增实例,主键ID从很大的数字开始

mybatis-plus是mybatis增强版,用mybatis-plus可以省去很多DAO层代码和数据库操作语句的编写.但是需要我们配置好条件. 情景: 向数据库新增一条实例,我们要调用 insert(T t)方法:向数据库批量新增实例,我们调用inserBatch(List<T> list)方法. 当然,这些都是mybatis-plus已经封装好的,我们直接用,DAO层代码和xml文件不用自己编写.但是,我们数据库新增实例,主键ID一般都是自增长的,不用人工给它赋值. 那么mybatis-

区块链技术很大程度上,会影响数字货币的发展

随着区块链技术的影响力逐渐的扩大,很多国家也逐渐的放松了对于数字加密货币的监管,更是有较多的国家,不但将区块链技术的研发提上了日程,更是在数字加密货币上也开始了布局. 区块链技术的最初应用和最成功的应用,都是比特币,但是比特币总量恒定,即使想要入局也只是通过交易或者挖矿的方式,比特币市场显然不能满足全球人民的需求,只能发行更多的代币,进行分散市场.更多的数字加密货币应势而出. 加拿大早在2016年就联合诸多银行合作推出了基于区块链技术的加元数字货币CAD-Coin,俄罗斯宣布将于2019年推出国

Java基础系列9:BigInteger类和BigDecimal类

一 BigInteger类 当我们碰到需要处理一个很大的数字时,这时候肯定没法使用int和long.当然我们可以使用String来接收大数字,然后再采用拆分的方式来计算,不过这种方式很麻烦.因此在Java中为了解决这种问题,提供了BigInteger类.BigInteger类表示是大整数类,定义在java.math.*这个包中,如果操作的整数已经超过了整数的最大类型长度long,这时可以考虑使用BigInteger类来进行操作 常用方法的示例: package javase.base; impo

Java从零开始学二十九(大数操作(BigIntger、BigDecimal)

一.BigInteger 如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作. 不可变的任意精度的整数.所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型).BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法.另外,BigInteger 还提供以下运算:模算术.GCD 计算.质数测试.素数生成.位操作以及一