如果基本的整数和浮点数精度不能够满足需求,那么可以使用 java.math
包中两个很有用的类: BigInteger
和 BigDecimal
。这两个类可以处理包含任意长度数字序列的数值。 BigInteger
类实现任意精度的整数运算, BigDecimal
实现任意精度的浮点数运算。
使用静态的 valueof
方法可以将普通的数值转换为大数:
BigInteger a = BigInteger.valueOf(100);
对于更大的数,可以使用一个带字符串参数的构造器:
BigInteger reallyBig = new BigInteger("134443493494321591498614658741974141641519614974168416516114914196419");
另外还有一些常量: BigInteger.ZERO
、 BigInteger.ONE
和 BigInteger.TEN
注意:我们不能使用算术运算符(如:+和*)处理大数,而需要使用大叔类中的 add
和 multiply
方法。
BigInteger c = a.add(b); //c = a + b
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2))); //d = c * (b + 2)
相关文章
insert语句生成的存储过程
``` 1 2 -- -- powered by wanglifeng https://www.cnblogs.com/wanglifeng717 3 DROP PROCEDURE IF EXISTS...
python 类与对象
如果需创建一个类,那么可以使用 class 关键字: 实例 使用名为 a 的属性,创建一个名为 MyClass 的类: class MyClass: a = 6 现在我们可以使用名为 myClass ...
SpringCloud微服务实战——搭建企业级开发框架(四十四):【微服务监控告警实现方式一】使用Actuator + Spring Boot Admin实现简单的微服务监控告警系统
业务系统正常运行的稳定性十分重要,作为SpringBoot的四大核心之一,Actuator让你时刻探知SpringBoot服务运行状态信息,是保障系统正常运行必不可少的组件。 spring-boot-...
spring security登录认证流程
spring security登录认证流程 1、前端携带用户名和面膜发送请求,controller接收到后,调用service的login方法 2、根据传过来的用户名和密码生成UsernamePass...
运算符 (Java)
基本介绍 算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 关系运算符: 实例展示 ``` public class Operator { //base.Operator 运&...
Dubbo与SpringBoot整合
1.选择ZooKeeper作为注册中心 在linux环境中使用docker安装ZooKeeper //拉取zookeeper镜像 docker pull zookeeper//启动zookeeperd...
【Java分享客栈】一文搞定CompletableFuture并行处理,成倍缩短查询时间。
前言 工作中你可能会遇到很多这样的场景,一个接口,要从其他几个service调用查询方法,分别获取到需要的值之后再封装数据返回。 还可能在微服务中遇到类似的情况,某个服务的接口,要使用好几次feign...
java面试——反射与泛型
《java核心技术》 官方套话:能够分析类能力的程序成为反射。 又通过网上搜索有这句话: 反射指程序可以访问、检测和修改它本身状态或行为的一种能力。 "明明我自己能直接new一个对象,为什么它要绕一个...
java并发和排序的简单例子(Runnable+TreeSet)
很多时候,并发需要考虑线程安全,但在很多情况下,它与线程安全无关,因为并发最大的作用是并行性,而线程安全只是并发的一个子主题。[En]Many times concurrency needs to c...
JAVA变量、常量以及其命名规范
变量 变量即可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。 常量 常量(Constant):初始化后不能...