BigDecimal 舍入模式(Rounding mode)介绍:
在 java中, 四舍五入通过 BigDecimal 来实现。一定要注意:BigDecimal is Immutable。也就是跟String一样,对前一个的修改,比如setScale(), add()等都会返回一个新的BigDecimal.四舍五入舍入模式是 BigDecimal.ROUND_HALF_UP
BigDecimal定义了一下舍入模式,只有在作除法运算或四舍五入时才用到舍入模式,下面简单介绍,详细请查阅J2se API文档
static int
|
ROUND_CEILING
Rounding mode to round towards positive infinity.
向正无穷方向舍入
|
static int
|
ROUND_DOWN
Rounding mode to round towards zero.
向零方向舍入
|
static int
|
ROUND_FLOOR
Rounding mode to round towards negative infinity.
向负无穷方向舍入
|
static int
|
ROUND_HALF_DOWN
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5
|
static int
|
ROUND_HALF_EVEN
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN
|
static int
|
ROUND_HALF_UP
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6
|
static int
|
ROUND_UNNECESSARY
Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary.
计算结果是精确的,不需要舍入模式
|
static int
|
ROUND_UP
Rounding mode to round away from zero.
向远离0的方向舍入
|
分享到:
相关推荐
java 精确的浮点数运算java 精确的浮点数运算java 精确的浮点数运算 java 精确的浮点数运算java 精确的浮点数运算java 精确的浮点数运算 java 精确的浮点数运算java 精确的浮点数运算java 精确的浮点数运算 java ...
Java对浮点数的计算是不精确的,比如0.05+0.01结果不是0.06,而是0.060000000000000005,更有甚者,一个数除以0.0,Java是不会抛异常,而是得出无穷大的结果.本工具类解决了上述问题.该类提供了加减乘除四则运算的精确计算...
### Java中实现浮点数的精确计算 在Java编程中,使用`float`和`double`类型进行浮点数计算时经常会遇到精度丢失的问题。这是因为浮点数在计算机内部是以二进制形式存储的,而某些十进制小数无法用二进制精确表示,...
java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 ...
例如,0.1 + 0.2在JavaScript中并不等于0.3,因为它们在二进制下无法精确表示,这会导致计算结果的微小误差。 为了解决这个问题,开发者们通常会采取以下策略: 1. **四舍五入**:在进行浮点数运算时,可以设定...
浮点数在计算机中的表示是计算科学中一个关键的概念,特别是在数值分析、科学计算和工程应用中。IEEE 754标准是当前最普遍使用的浮点数表示法,被广泛应用于包括基于Intel的PC、Macintosh以及大多数Unix平台在内的...
5. **使用BigDecimal类**:在某些高级应用中,可以考虑使用类似Java的`BigDecimal`类,它提供了高精度的浮点数运算,但JavaScript原生并不支持,可能需要引入第三方库。 理解JavaScript浮点数计算的局限性并采用...
总结一下,Java中的浮点数精确计算主要是通过`java.math.BigDecimal`类来实现的,而"Java实现的浮点类的精确计算"则可能是一个自定义工具类,封装了`BigDecimal`的操作,以提供方便、准确的浮点数计算服务。...
浮点数在计算机科学中扮演着至关重要的角色,因为它们被用来表示小到极小、大到极大的数值,广泛应用于科学计算、图形处理、物理模拟等领域。本实验将深入探讨浮点数的表示方法和运算过程,这对于理解计算机内部如何...
由于二进制无法精确表示所有十进制小数,例如0.1在二进制下就是无限循环的,因此在进行浮点数运算时,看似简单的加减乘除可能会导致结果不准确,尤其是在累加或累乘过程中。 浮点数的比较也是个需要注意的地方。...
### 浮点数的计算方法 #### 一、引言 在计算机科学中,浮点数是一种用于表示...通过理解浮点数的表示方法及其基本运算原理,可以帮助程序员更好地处理数值计算问题,尤其是在涉及到高精度计算的应用场景中尤为重要。
在IT行业中,理解浮点数的表示和计算方式是至关重要的,因为浮点数在科学计算、图形渲染、数据交换等多个领域都有广泛应用。 浮点数是一种在计算机系统中表示实数的方式,由于计算机内部只能处理二进制数据,所以...
java 浮点数举例java 浮点数举例java 浮点数举例
### 浮点数在计算机中的存储方式 #### 引言 在编程中,尤其是在C语言和C#等语言中,浮点数是非常重要的数据类型之一。对于浮点类型的存储,通常采用单精度类型(`float`)和双精度类型(`double`)。这两种类型...
本文将详细讨论“4字节浮点数计算工具”及其相关的知识点,包括浮点数的表示、16进制与10进制的转换以及在电力通信规约中的应用。 首先,浮点数是一种用于表示实数的数据类型,广泛应用于科学计算和计算机图形学等...
在Java编程语言中,从文件中读取浮点数是一个常见的操作需求,尤其是在处理大量数据或进行数据分析时。本文将详细解析如何利用Java标准库中的类来实现这一功能,包括必要的异常处理,确保代码的健壮性和实用性。 ##...
上溢是指数值过大,超出了浮点数能表示的范围,而下溢则是数值过小,以至于超出了浮点数能精确表示的最小值。这两种情况都需要在编程和数据处理时特别注意。 为了让浮点数的表示更加精确,规格化处理是必不可少的...
三、浮点数表达式计算的原理 浮点数表达式计算的原理基于中缀表达式和前缀表达式的转换。中缀表达式是指使用中缀运算符的表达式,例如:`3.14 + 2.5 * 4`。前缀表达式是指使用前缀运算符的表达式,例如:`+ 3.14 * ...
本文将深入探讨C语言中浮点数的二进制表示,并通过一个具体的例子来解释浮点数和整数在内存中的差异。 #### 浮点数的背景 在讨论浮点数的具体表示之前,我们首先需要了解几个基本概念: - **浮点数**:用于表示...
浮点数的表示和运算在计算机组成原理中扮演着非常重要的角色,它广泛应用于科学计算、工程设计、图形处理和人工智能等领域。 浮点数表示和运算是计算机组成原理中的一个重要方面,它对计算机的性能和应用产生了深远...