BigDecima

简介: BigDecima

BigDecimal 是 Java 提供的一个用于处理任意精度小数的类。与 doublefloat 类型相比,BigDecimal 可以准确地表示和计算大范围的小数值,避免了浮点数运算时的精度损失。

下面是一些常用的 BigDecimal 方法和操作:

1.创建 BigDecimal 对象:

BigDecimal bigDecimal1 = new BigDecimal("123.456");
BigDecimal bigDecimal2 = BigDecimal.valueOf(789.012);

2.基本运算符和方法:

  • 加法:add(BigDecimal augend)
  • 减法:subtract(BigDecimal subtrahend)
  • 乘法:multiply(BigDecimal multiplicand)
  • 除法:divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
  • 求余:remainder(BigDecimal divisor)
  • 幂运算:pow(int exponent)
  • 绝对值:abs()
  • 比较:compareTo(BigDecimal val)
BigDecimal sum = bigDecimal1.add(bigDecimal2);
BigDecimal difference = bigDecimal1.subtract(bigDecimal2);
BigDecimal product = bigDecimal1.multiply(bigDecimal2);
BigDecimal quotient = bigDecimal1.divide(bigDecimal2, 10, RoundingMode.HALF_UP);
BigDecimal remainder = bigDecimal1.remainder(bigDecimal2);
BigDecimal power = bigDecimal1.pow(2);
BigDecimal absolute = bigDecimal1.abs();
int comparison = bigDecimal1.compareTo(bigDecimal2);
  • 3.转换和舍入:
  • 转换为其他数据类型:intValue(), longValue(), doubleValue()
  • 转换为字符串:toString()
  • 设置小数位数和舍入方式:setScale(int newScale, RoundingMode roundingMode)
int intValue = bigDecimal1.intValue();
long longValue = bigDecimal1.longValue();
double doubleValue = bigDecimal1.doubleValue();
String stringValue = bigDecimal1.toString();
BigDecimal scaled = bigDecimal1.setScale(2, RoundingMode.HALF_UP);
  • 4.其他常用方法:
  • 比较大小:max(BigDecimal val), min(BigDecimal val)
  • 取整:stripTrailingZeros()
  • 判断是否为整数或负数:isInteger(), signum()
BigDecimal max = bigDecimal1.max(bigDecimal2);
BigDecimal min = bigDecimal1.min(bigDecimal2);
BigDecimal noTrailingZeros = bigDecimal1.stripTrailingZeros();
boolean isInteger = bigDecimal1.isInteger();
int signum = bigDecimal1.signum();


相关文章
|
6月前
|
关系型数据库 MySQL 索引
MySQL数据表添加字段的三种方式
MySQL数据表添加字段的三种方式
5563 0
|
4月前
|
数据格式
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
本文介绍了在ElementUI和ElementPlus中使用`el-table`组件实现合并行功能的技巧,包括多列合并和单列合并的方法,并提供了相应的示例代码和运行效果。
3662 1
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
|
7月前
el-dialog中内容自定义滚动条
el-dialog中内容自定义滚动条
212 0
|
6月前
|
Java
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
Java读取txt文件和写入txt文件-多种方法-java读写文件-java读写
1790 0
|
7天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
9天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
8403 20
|
12天前
|
Cloud Native Apache 流计算
资料合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
4537 11
资料合集|Flink Forward Asia 2024 上海站
|
13天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
20天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。