BigInteger和BigDecimal类

BigInteger 和 BigDecimal 介绍

应用场景

  • BigInteger适合保存比较大的整型
  • BigDecimal适合保存精度更高的浮点型(小数)

BigInteger 和 BigDecimal 常见方法

  • 1,add 加
  • 2,subtract 减
  • 3,multiply 乘
  • 4,divide 除

BigInteger方法:

public class BigInteger_ {
    public static void main(String[] args) {
        //当我们编程中,需要处理很大的整数,long 不够用
        //可以使用 BigInteger 的类来搞定
        //报错  long i = 23788888899999999999999999999l; 数字太大
        BigInteger bigInteger = new BigInteger("237888888999999999999999999991");
        System.out.println(bigInteger);

        //在对BigInteger 进行操作时,需要使用对应的方法,不能直接用运算符;
        //可以创建一个要操作的 BigInteger 然后进行相应的操作
        BigInteger bigInteger1 = new BigInteger("1111111111111111111111");
        //加  bigInteger1+bigInteger
        BigInteger add = bigInteger1.add(bigInteger);
        System.out.println(add);//237888888999999999999999999991+1111111111111111111111
        //减 bigInteger1-bigInteger
        BigInteger subtract = bigInteger1.subtract(bigInteger);
        System.out.println(subtract);
        //乘  bigInteger1*bigInteger
        BigInteger multiply = bigInteger1.multiply(bigInteger);
        System.out.println(multiply);
        //除  bigInteger1/bigInteger
        BigInteger divide = bigInteger1.divide(bigInteger);
        System.out.println(divide);

    }
}

结果
在这里插入图片描述

BigDecimal方法:

public class BigDecimal_ {
    public static void main(String[] args) {
        //当我们需要保存一个精度很高的数,double不够用时,可以使用BigDecimal
        double d = 1999.11111111111999999999999977788222222;
        //输出 1999.11111111112  只能保存小数点后11位小数
        System.out.println(d);
        BigDecimal bigDecimal = new BigDecimal("1999.11111111111999999999999977788222222");
        // 输出 1999.11111111111999999999999977788222222
        System.out.println(bigDecimal);

        //如果对 BigDecimal 进行运算,比如加减乘除,需要使用对应的方法,
        // 创建一个需要操作的 BigDecimal 然后调用相应的方法即可
        BigDecimal bigDecimal1 = new BigDecimal(3);
        //bigDecimal+bigDecimal1
        System.out.println(bigDecimal.add(bigDecimal1));
        //bigDecimal-bigDecimal1
        System.out.println(bigDecimal.subtract(bigDecimal1));
        System.out.println(bigDecimal.multiply(bigDecimal1));
        //System.out.println(bigDecimal.divide(bigDecimal1));//会抛出异常ArithmeticException,因为可能为无限循环小数
        //解决办法:
        //在调用divide方法时,指定精度即可 BigDecimal.ROUND_CEILING,这样出现无限循环小数时,就会保留分子精度
        System.out.println(bigDecimal.divide(bigDecimal1,bigDecimal.ROUND_CEILING));
    }
}

结果
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年人工智能威胁态势报告:有关AI系统及AI应用的安全风险与安全防护全景

HiddenLayer公司最新发布的《2024年AI威胁场景报告》中,研究人员阐明了AI相关漏洞及其对组织的影响,并为应对这些挑战的IT安全和数据科学领导者提供了指导建议。最后,报告还揭示了各种形式的AI安全控制的前沿进展。 关键数据 平均而言&#x…

1. 介绍 Matplotlib

目录 1. Matplotlib 介绍 2. Matplotlib 安装介绍 3. Matplotlib 使用介绍 本专栏想分享一下最近学到的深度学习知识,前期需要一些 Python 知识和数据分析知识,如果有同学没有了解,请先看下面两个专栏,谢谢! Pytho…

Ubuntu 网卡启动及配置

文章目录 问题分析查看网卡信息启动网卡 配置网卡应用更改 参考 问题分析 打开虚拟机后发现没有网卡网络。 查看网卡信息 sudo ip link set ens33 up得到本机的所有网卡信息,例如我这边网卡为ens33 启动网卡 启动网卡后发现依然网卡没有IP地址。 配置网卡 u…

【异常检测】新版异常检测库anomalib的使用

every blog every motto: There’s only one corner of the universe you can be sure of improving, and that’s your own self. https://blog.csdn.net/weixin_39190382?spm1010.2135.3001.5343 0. 前言 异常检测库anomalib的使用 1. 前提 1.1 数据组织形式 说明&#…

畅享清凉乐趣,气膜水上乐园的五大优点—轻空间

夏日的到来,让我们一同探索气膜水上乐园所带来的独特魅力。这里有着不同于传统水上乐园的五大优点,让您尽情享受清凉乐趣,感受畅游的无限畅快! 1. 全年无休,尽享水上乐趣 气膜水上乐园的特殊建造材料和创新设计&#x…

qml 调用 C++函数

1、新建一个类 1)继承自QObject类(记得添加QObject头文件) 2)增加Q_OBJECT宏 3)在需要调用的类成员函数前添加Q_INVOKEABLE声明 注意1:如果没有2)和3),运行后提示函数类型错误 注意2&#…

CTF数据安全大赛crypto题目解题过程

CTF-Crypto加密题目内容 下面是一个Base64加密的密文 bXNobnszODdoajM3MzM1NzExMzQxMmo4MGg0bDVoMDYzNDQzNH0原文链接: 数据安全大赛CTF-Crypto题目 - 红客网-网络安全与渗透技术 我们用Python写一个解密脚本: import base64 import time #base64加密…

外贸人绝不能错过的欧洲市场如何开发?

欧洲市场作为世界上消费较大且较高的市场之一,容量大且接纳性强,不少外贸企业都希望在欧洲市场上掘金。 今天,我们就一起来看外贸人绝不能错过的欧洲市场如何开发?现在的欧洲还有哪些机会? 一、欧洲基本情况及市场特点…

各种依赖注入和分层解耦

分层解耦 三层架构 controller:控制层,接收前端发送的请求,对请求进行处理,并响应数据 service:业务逻辑层,处理具体业务的逻辑 dao:数据访问,负责数据访问操作,包括数据的增、删、改、查 流程为&…

wsl2安装rancher并导入和创建k8s集群

环境准备 安装wsl2点击此文]ubuntu20.04安装docker 点击此文,安装完成后docker镜像仓库改成阿里云镜像加速地址.如果不熟请点击此文 docker 安装rancher 启动wsl,根据官方文档以root身份执行 sudo docker run -d --restartunless-stopped -p 80:80 -p 443:443 --privileged …

位图转矢量图在线Ai神器,让你的图片无限放大不失真的秘密武器,重点免费、免费、免费

💻开局附上神器地址:Convert PNG, JPG files to SVG vectors online - svg.tmttool.com 这边结合自己的使用场景简单做下使用教程👇商业场景中经常需要对Ai生成的插画图进行二次创作,了解Ai做图的小伙伴就知道生成的图分辨率有限&…

2W 3KVDC 隔离 稳压单输出 DC/DC 电源模块——TPB 系列

TPB系列的输出带稳压和短路保护,特别适合于对输出电压精度和输出纹波噪声有要求的场合,完全兼容TPR和TPG的安装要求。

实现网站HTTPS访问:全面指南

在当今网络安全至关重要的时代,HTTPS已经成为网站安全的基本标准。HTTPS(超文本传输安全协议)通过在HTTP协议基础上加入SSL/TLS加密层,确保了数据在用户浏览器和服务器之间的传输是加密的,有效防止数据被窃取或篡改&am…

河北公司推行精益管理咨询时需要注意哪些问题?

近年来,越来越多的河北公司开始关注并推行精益管理咨询,以期通过优化流程、降低成本、提高效率来获得竞争优势。然而,在实施过程中,公司需要注意一系列问题,以确保精益管理咨询能够顺利推进并取得预期效果。天行健精益…

社交媒体数据恢复:海鸥

在使用社交软件的过程中,难免会遇到一些问题,例如误删聊天记录、丢失重要信息等。对于海鸥社交软件的用户来说,了解如何恢复数据是非常重要的。本篇将为您提供一份详细的海鸥社交软件数据恢复教程。 一、备份与预防措施 在遇到数据丢失的问…

Web地理空间引擎

Web地理空间引擎是指用于在Web上创建和显示地理空间信息的软件平台。它们通常提供一组API和工具,用于加载、可视化和分析地理空间数据。Web地理空间引擎被广泛应用于各种应用,例如地图、导航、位置服务、游戏和模拟等。北京木奇移动技术有限公司&#xf…

【C语言】模拟实现深入了解:字符串函数

🔥引言 本篇将模拟实现字符串函数,通过底层了解更多相关细节 🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔记 🌈C笔记专栏: C笔记 🌈喜欢的诗句:无人扶我青云志 我自…

BLIP2预研笔记

0. 前言 文章是公司内部分享学习写的预研报告,里面有小部分文段是直接从网上借鉴的,侵删 1. 任务和方法历史进化: 在大模型等类似的预训练模型的方式(以包含“预训练阶段”等n阶段训练方式为特色)为主流之前&#xf…

Allegro PCB designer放置振列过空,Via Array,

首先 Place >>Via Array, 然后配置options 选项卡。 最后鼠标左击一下,拉个区域框,再点击一下。如下图 尤其注意鼠标左击一下再左击一下。

电路板维修【一】

最近喜欢上了电路板维修,经常看很多博主的维修视频,觉得还是颇有收获的(维修板子原来有方法可循),于是做笔记如下: 一.【修了半天也没找到问题,原来是检查方向错了,变频油烟机板维修…