首页 > 其他分享 >BigDecimal 除法的用法

BigDecimal 除法的用法

时间:2023-11-16 11:13:48浏览次数:28  
标签:BigDecimal 原点 用法 DOWN HALF 方向 对齐 除法 ROUND

运算除法时,经常遇到除不尽的情况,那么下面的模式就派上用场了

 

RoundingMode

 

ROUND_UP
进位制:不管保留数字后面是大是小 (0 除外) 都会进 1。结果会向原点的反方向对齐,正数向正无穷方向对齐,负数向负无穷方向对齐。

ROUND_DOWN
舍去制,截断操作,后面所有数字直接去除。结果会向原点方向对齐。

ROUND_HALF_UP
根据保留数字后一位 >=5 进行四舍五入。如果舍弃部分的最高位大于等于 5,向原点反方向对齐,否则向原点方向对齐。

ROUND_HALF_DOWN
根据保留数字后一位 >5 进行五舍六入。如果舍弃部分的最高位大于 5,向原点反方向对齐,否则向原点方向对齐。这种模式也就是我们常说的 “五舍六入”。

ROUND_CEILING
向正无穷方向对齐,转换为正无穷方向最接近的数值。如果为正数,行为和 ROUND_UP 一样;如果为负数,行为和 ROUND_DOWN 一样。此模式不会减少数值大小。

ROUND_FLOOR
向负无穷方向对齐。如果为正数,行为和 ROUND_DOWN 一样;如果为负数,行为和 ROUND_UP 一样。此模式不会增加数值大小。

ROUND_HALF_EVEN
四舍六入五成双,如果舍弃部分的最高位大于等于六,或等于五并且前一位是奇数,向原点反方向对齐,否则向原点方向对齐。
如果舍弃部分左边的数字为奇数,则作 ROUND_HALF_UP;如果为偶数,则作 ROUND_HALF_DOWN。

ROUND_UNNECESSARY
断言请求的操作具有精确的结果,因此不需要舍入。如果对获得非精确结果的操作指定此舍入模式,则抛出 ArithmeticException。

标签:BigDecimal,原点,用法,DOWN,HALF,方向,对齐,除法,ROUND
From: https://www.cnblogs.com/pzyin/p/17835754.html

相关文章

  • Java8中Optional类的认识和用法
       Optional在Java8中引入,目的是解决 NullPointerExceptions的问题。它可以保存类型T的值,代表这个值存在。或者仅仅保存null,表示这个值不存在。原来用null表示一个值不存在,Optional可以更好的表达这个概念。并且可以避免空指针异常。这样我们就不用显式进行空值检测......
  • React.Children.map的用法
    React.Children用很多用法,如下图,经常会用到的是toArray(),具体用法可以自行了解,这里记录下map()的用法和使用到的场景。1.用法:React.Children.map接收2个参数,第一个是所有子元素,第二个是个回调,可以对每个子元素进行处理,然后返回处理后的子元素。2.使用场景:子元素(也可理解为......
  • 实用干货丨Eolink Apikit 配置和告警规则的各种用法
    API在运行过程中可能会遇到各种异常情况,如响应时间过长、调用频率过高、请求参数错误等,这些异常会对系统的稳定性和性能产生严重影响。因此,对API进行异常监控和告警是非常必要的。本文将介绍EolinkApikit中使用的告警规则,帮助开发者和运维人员更好地监控和管理API。全局告警......
  • Python3 协程 await async 相关的用法和笔记
    想要提供可以进行协程切换的awaitable,可以使用下面的方法:1任务taskasyncdeffunc():print("yesWait")task=asyncio.create_task(func())awaittask2协程对象,可以使asyncdef定义的协程函数(是否能触发切换不一定,要看函数内容)函数内可以利用asyncio.sl......
  • git 简洁用法
    开发分支(dev)上的代码达到上线的标准后,要合并到master分支gitcheckoutdevgitpullgitcheckoutmastergitmergedevgitpush-uoriginmaster当master代码改动了,需要更新开发分支(dev)上的代码gitcheckoutmastergitpullgitcheckoutdevgitmergemastergit......
  • TypeScript的5个常见用法
    TypeScript是一种静态类型的JavaScript超集,它提供了额外的类型系统和一些ECMAScript新特性的支持。以下是TypeScript的一些常见用法:1:类型注解:TypeScript允许在变量、函数、参数、返回值等地方添加类型注解,明确指定变量的类型。例如:letname:string='John';functiongr......
  • 数据库操作入门:PyMongo 和 MongoDB 的基本用法
    MongoDBMongoDB是一种流行的NoSQL数据库,它将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展PyMongoPython需要一个MongoDB驱动程序来访问MongoDB数据库。在本教程中,我们将使用MongoDB驱动程序"PyMongo"。建议使用PIP来安装"PyMongo",确保您的Python环境已安装PIP。在命......
  • Java -- Stream流用法
    1.前言流是Java8API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式。Stream流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。流不是集合元素,它不是数据结构并不保存数据......
  • 索引的用法
    s='hellowrold'foriinrange(0,len(s)):#len()是计算序列s的长度函数,即h-d的字母个数print(i,s[i],end='\t\t')#第一个i是索引从0开始,到len(s)计算的个数结束;#s[i]是便利s序列中每个对应的元素,0是h,1是e以此类推......
  • JavaScript slice 方法用法与实例解析
    在JavaScript中,slice()是一个常用的数组方法,用于从现有数组中提取一部分元素,然后返回一个新的数组。它是一个非常有用的工具,可以帮助你在不改变原始数组的情况下操作数组的子集。本文将介绍slice()的基本概念、使用方法、实践案例和互动练习,以帮助你更好地理解和掌握这一功能......