当前位置: 首页 > news >正文

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类

二者共有的常见方法

方法功能
add
subtract
multiply
divide

注意点:传参类型必须是类对象


一、BigInteger

1. 作用:适合保存比较大的整型数

2. 使用说明

3. 代码示例

import java.math.BigInteger;public class main {public static void main(String[] args) {BigInteger bigInteger = new BigInteger("999999999999999999999999");System.out.println(bigInteger);BigInteger bigInteger1= new BigInteger("9");// 加法System.out.println("add:" + bigInteger.add(bigInteger1));// 减法System.out.println("subtract:" + bigInteger.subtract(bigInteger1));// 乘法System.out.println("multiply:" + bigInteger.multiply(bigInteger1));// 除法System.out.println("divide:" + bigInteger.divide(bigInteger1));}
}// 输出结果
999999999999999999999999
add:1000000000000000000000008
subtract:999999999999999999999990
multiply:8999999999999999999999991
divide:111111111111111111111111

二、BigDecimal

1. 作用:适合保存高精度浮点数(小数)

2. 使用说明

3. 注意点

BigDecimal使用除法的时候,会出现除不尽(无限循环小数)的情况,这个时候会抛出异常(ArithmeticException

解决方法

传参时候传入BigDecimal.ROUND_CEILING),这个时候结果的精度就会和分子保持一致

代码示例

import java.math.BigDecimal;public class main {public static void main(String[] args) {BigDecimal bigDecimal = new BigDecimal("99.8888888888889999999");System.out.println(bigDecimal);BigDecimal bigDecimal1= new BigDecimal("7");// 加法System.out.println("add:" + bigDecimal.add(bigDecimal1));// 减法System.out.println("subtract:" + bigDecimal.subtract(bigDecimal1));// 乘法System.out.println("multiply:" + bigDecimal.multiply(bigDecimal1));// 除法System.out.println("divide:" + bigDecimal.divide(bigDecimal1,BigDecimal.ROUND_CEILING));}
}// 输出结果
99.8888888888889999999
add:106.8888888888889999999
subtract:92.8888888888889999999
multiply:699.2222222222229999993
divide:14.2698412698412857143
http://www.xdnf.cn/news/930709.html

相关文章:

  • 【Go语言基础【19】】接口:灵活实现多态的核心机制
  • 基于RT-DETR算法的夜间交通车辆与行人目标检测
  • FPGA静态功耗
  • 2025年与2030年AI及AI智能体 (Agent) 市场份额分析报告
  • 网络之交换机
  • 【题解-洛谷】B3626 跳跃机器人
  • JavaWeb——登录(14/16):登录校验-Interceptor-详解(使用细节、拦截路径的配置、匹配规则、执行流程、拦截器与过滤器的区别)
  • 【华为云Astro 轻应用】组装“待处理工单”页面示例
  • C语言基础面试问答
  • 【人工智能 | 项目开发】Python Flask实现本地AI大模型可视化界面
  • 苍穹外卖-day01
  • 用 DeepSeek 高效完成数据分析与挖掘
  • Bootstrap Table开源的企业级数据表格集成
  • 大数据学习(133)-Hive数据分析2
  • 论文笔记:Large Language Models for Next Point-of-Interest Recommendation
  • 云原生监控体系建设:Prometheus+Grafana的企业级实践
  • 作为点的对象CenterNet论文阅读
  • 【论文阅读30】Bi-LSTM(2024)
  • Spring Boot + Flink + FlinkCDC 实现 MySQL 同步到 MySQL
  • 【Java学习笔记】Arrays类
  • 视频音频去掉开头结尾 视频去掉前n秒后n秒 电视剧去掉开头歌曲
  • 408第一季 - 数据结构 - 图
  • 数据结构排序
  • AU音频软件|Audition 2025网盘下载与安装教程指南
  • AURA智能助手在物联网(IoT)和数字化改造领域的使用
  • Linux运维新人自用笔记(乌班图apt命令和dpkg命令、两系统指令区别,rpm解决路径依赖、免安装配置java环境)
  • 机器学习用于算法交易(Matlab实现)
  • 在VSCode中使用Ultralytics扩展
  • 探索 Shell:选择适合你的命令行利器 bash, zsh, fish, dash, sh...
  • RabbitMQ work模型