BigInteger和BigDecimal

news2024/11/28 14:39:40

BigInteger

当一个整数很大,大到long都无法保存,就可以使用BigInteger这个类

使用方法:new 

import java.math.BigInteger;//记得引包
BigInteger bigInteger= new BigInteger("33333333333399999999999");//用字符串传入
System.out.println(bigInteger);

如果要对bigInteger使用加减乘除,不能直接使用+ - * / ,而是要使用相应的方法

+ : add()

- : subtract()

* : multiply()

/ : divide() 

传入的值也是一个BigInteger对象

如下:

bigInteger  = bigInteger.add(new BigInteger("99999"));

BigDecimal

当一个数的精度很高,高到double都无法储存,就可以使用BigDecimal

decimal就是小数的英文

BigDecimal的创建方式、加减乘除方法的使用都与BigInteger一样 

唯一不一样的是要注意BigDecimal的除法(divide):

当一个小数除以另一个小数是,有可能结果是无限循环小数,这时就会报错:ArithmeticException

 翻译:这是一个无限小数,没有精度可以表示

解决办法也很简单:在除数的后面再传入一个参数,BigDecimal.ROUND_CEILING

这样结果的精度就会变成与被除数一致

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/474417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32物联网实战开发(6)——PWM驱动LED灯

PWM驱动LED灯 之前是使用标准库函数配置引脚输出PWM控制呼吸灯,因为开发板上的蜂鸣器是有源的,所以这次还是用来确定LED灯,这次使用的是HAL库,用CubeMX软件初始化PWM功能 PWM输出原理 Period:周期,单位是秒…

10个最流行的向量数据库【AI】

矢量数据库是一种将数据存储为高维向量的数据库,高维向量是特征或属性的数学表示。 每个向量都有一定数量的维度,范围从几十到几千不等,具体取决于数据的复杂性和粒度。 推荐:用 NSDT场景设计器 快速搭建3D场景。 矢量数据库&…

手机短信验证码登录功能的开发实录(机器识别码、短信限流、错误提示、发送验证码倒计时60秒)

短信验证码登录功能 项目分析核心代码1.外部js库调用2.HTML容器构建3.javaScript业务逻辑验证4.后端验证逻辑 总结 短信验证码是通过发送验证码到手机的一种有效的验证码系统,作为比较准确和安全地保证购物的安全性,验证用户的正确性的一种手段&#xff…

Redux的基本使用,从入门到入土

目录 一、初步使用Redux 1.安装Redux 2.配置状态机 二、Redux的核心概念 1.工作流程 2.工作流程 三、优化Redux 1.对action进行优化 2.type常量 3.reducer优化 四、react-redux使用 1.安装react-redux 2.全局注入store仓库 3.组件关联仓库 五、状态机的Hook 1.u…

Day958.代码的分层重构 -遗留系统现代化实战

代码的分层重构 Hi,我是阿昌,今天学习记录的是关于代码的分层重构的内容。 来看看如何重构整体的代码,也就是如何对代码分层。 一、遗留系统中常见的模式 一个学校图书馆的借书系统。当时的做法十分“朴素”,在点击“借阅”按钮…

如何使用osquery在Windows上实时监控文件?

导语:Osquery是一个SQL驱动操作系统检测和分析工具,它由Facebook创建,支持像SQL语句一样查询系统的各项指标,可以用于OSX和Linux操作系统。 Osquery是一个SQL驱动操作系统检测和分析工具,它由Facebook创建,…

不得不说的行为型模式-责任链模式

目录 责任链模式: 底层原理: 代码案例: 下面是面试中可能遇到的问题: 责任链模式: 责任链模式是一种行为型设计模式,它允许多个对象在一个请求序列中依次处理该请求,直到其中一个对象能够…

【VM服务管家】VM4.0平台SDK_2.5 全局工具类

目录 2.5.1 全局相机:全局相机设置参数的方法2.5.2 全局相机:获取全局相机列表的方法2.5.3 全局通信:通信管理中设备开启状态管理2.5.4 全局通信:接收和发送数据的方法2.5.5 全局变量获取和设置全局变量的方法 2.5.1 全局相机&…

经典重装上阵,更好用的中小手游戏鼠标,雷柏V300W上手

日常办公、玩游戏都需要用到鼠标,特别是对于游戏玩家来说,一款手感好、易定制的鼠标,绝对是游戏上分的利器。早先雷柏出过一款V300鼠标,距今已有10年历史,当时是很受欢迎,最近南卡又出了一款复刻版的V300W&…

为什么不要相信AI机器人提供的健康信息?

自从OpenAI、微软和谷歌推出了AI聊天机器人,许多人开始尝试一种新的互联网搜索方式:与一个模型进行对话,而它从整个网络上学到的知识。 专家表示,鉴于之前我们倾向于通过搜索引擎查询健康问题,我们也不可避免地会向Ch…

linux下的权限管理

1.shell概念 当我们在进入正文前先给大家普及一些基础概念。 广义上来讲,linux 发行版 linux内核 外壳程序(这个外壳程序就相当于 windows gui(窗口图形),linux 常用的shell 是 bash) 所以&#xff0c…

vue基本语法

目录 一、模板语法 (1)文本 (2)原始HTML (3)属性Attribute (4)使用JavaScript表达式 二、条件渲染 (1)v-if,v-else (2&#x…

nodejs+vue+elementui学生毕业生离校系统

学生毕业离校系统的开发过程中。该学生毕业离校系统包括管理员、学生和教师。其主要功能包括管理员:首页、个人中心、学生管理、教师管理、离校信息管理、费用结算管理、论文审核管理、管理员管理、留言板管理、系统管理等,前台首页;首页、离…

stm32 CubeMx 实现SD卡/sd nand FATFS读写测试

stm32 CubeMx 实现SD卡/SD nand FATFS读写测试 文章目录 stm32 CubeMx 实现SD卡/SD nand FATFS读写测试1. 前言2. 环境介绍2.1 软硬件说明2.2 外设原理图 3. 工程搭建3.1 CubeMx 配置3.2 SDIO时钟配置说明3.2 读写测试3.2.1 添加读写测试代码 3.3 FATFS文件操作3.3.1 修改读写测…

云计算:数字化转型的利器

随着数字化转型的加速,企业对于信息技术应用的需求越来越大,而云计算作为一种新的基础设施,也逐渐成为了许多企业的首选。那么,云计算究竟有哪些优势?未来发展趋势又是怎样的呢?下面就让我们一起来探讨一下…

深入理解try...catch(字节码层面)

我们工作中常用try...catch来解决程序中出现的异常情况,但是你真的了解它的实现原理吗?今天我就带着大家从字节码层面理解try...catch 一、准备工作 我们首先需要准备好异常类和对应的测试类方便我们观察。 异常类: public class DivideB…

1.软件测试

目录 一、面试重点 1.什么是软件测试? 2.软件测试和软件开发的区别 3.你为什么选择软件测试? 4.什么是需求? 5.软件测试人员如何深入了解需求? 6.什么是内存泄露? 7.什么是测试用例? 8.测试用例有…

【23】linux进阶——linux的软链接和硬链接

大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识,希望能提高自己的技术的同时,也可以帮助到大家 另外其它专栏请关注: 锐捷数通实验&…

终于成功了,CCED2000后,中文编程软件再次脱颖而出,系出金山

WPS抗衡微软,CCEDE却被淹没? DOS代,我们用WPS来进行文字编辑,CCED来做表格,两者在那个时代可以称得上是国产办公领域的“必装软件”。 如今,30年过去了,WPS一步一步成长为抗衡微软office的国产…

electron入门 | 手把手带electron项目初始化

Electron是一个基于Chromium和 Node.js,可以使用 HTML、CSS和JavaScript构建跨平台应用的技术框架,兼容 Mac、Windows 和 Linux。 目录 1.了解electron 2.开发环境 3.初始化 采坑插曲: 1.了解electron Electron 可以让你使用纯 JavaScrip…