`
esteem
  • 浏览: 156129 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

商业应用中Java浮点数的精确计算及表示(三)

阅读更多

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 精确的浮点数运算java 精确的浮点数运算 java ...

    java精确计算浮点数工具类

    Java对浮点数的计算是不精确的,比如0.05+0.01结果不是0.06,而是0.060000000000000005,更有甚者,一个数除以0.0,Java是不会抛异常,而是得出无穷大的结果.本工具类解决了上述问题.该类提供了加减乘除四则运算的精确计算...

    Java中实现浮点数的精确计算

    ### Java中实现浮点数的精确计算 在Java编程中,使用`float`和`double`类型进行浮点数计算时经常会遇到精度丢失的问题。这是因为浮点数在计算机内部是以二进制形式存储的,而某些十进制小数无法用二进制精确表示,...

    java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类

    java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 java 精确的浮点数运算 工具类java 精确的浮点数运算 工具类 ...

    Javascript 浮点数精确计算

    例如,0.1 + 0.2在JavaScript中并不等于0.3,因为它们在二进制下无法精确表示,这会导致计算结果的微小误差。 为了解决这个问题,开发者们通常会采取以下策略: 1. **四舍五入**:在进行浮点数运算时,可以设定...

    浮点数在计算机中的表示

    浮点数在计算机中的表示是计算科学中一个关键的概念,特别是在数值分析、科学计算和工程应用中。IEEE 754标准是当前最普遍使用的浮点数表示法,被广泛应用于包括基于Intel的PC、Macintosh以及大多数Unix平台在内的...

    解决javascript中的浮点数计算不精确问题

    5. **使用BigDecimal类**:在某些高级应用中,可以考虑使用类似Java的`BigDecimal`类,它提供了高精度的浮点数运算,但JavaScript原生并不支持,可能需要引入第三方库。 理解JavaScript浮点数计算的局限性并采用...

    Java实现的浮点类的精确计算

    总结一下,Java中的浮点数精确计算主要是通过`java.math.BigDecimal`类来实现的,而"Java实现的浮点类的精确计算"则可能是一个自定义工具类,封装了`BigDecimal`的操作,以提供方便、准确的浮点数计算服务。...

    4.15实验-浮点数的表示及运算

    浮点数在计算机科学中扮演着至关重要的角色,因为它们被用来表示小到极小、大到极大的数值,广泛应用于科学计算、图形处理、物理模拟等领域。本实验将深入探讨浮点数的表示方法和运算过程,这对于理解计算机内部如何...

    JAVA中浮点数的运算

    由于二进制无法精确表示所有十进制小数,例如0.1在二进制下就是无限循环的,因此在进行浮点数运算时,看似简单的加减乘除可能会导致结果不准确,尤其是在累加或累乘过程中。 浮点数的比较也是个需要注意的地方。...

    浮点数的计算方法

    ### 浮点数的计算方法 #### 一、引言 在计算机科学中,浮点数是一种用于表示...通过理解浮点数的表示方法及其基本运算原理,可以帮助程序员更好地处理数值计算问题,尤其是在涉及到高精度计算的应用场景中尤为重要。

    浮点数计算软件.zip

    在IT行业中,理解浮点数的表示和计算方式是至关重要的,因为浮点数在科学计算、图形渲染、数据交换等多个领域都有广泛应用。 浮点数是一种在计算机系统中表示实数的方式,由于计算机内部只能处理二进制数据,所以...

    java 浮点数举例

    java 浮点数举例java 浮点数举例java 浮点数举例

    浮点数在计算机中的存储方式

    ### 浮点数在计算机中的存储方式 #### 引言 在编程中,尤其是在C语言和C#等语言中,浮点数是非常重要的数据类型之一。对于浮点类型的存储,通常采用单精度类型(`float`)和双精度类型(`double`)。这两种类型...

    4字节浮点数计算工具

    本文将详细讨论“4字节浮点数计算工具”及其相关的知识点,包括浮点数的表示、16进制与10进制的转换以及在电力通信规约中的应用。 首先,浮点数是一种用于表示实数的数据类型,广泛应用于科学计算和计算机图形学等...

    计算机组成原理浮点数表示及运算PPT课件.pptx

    计算机组成原理浮点数表示及运算PPT课件 本PPT课件主要介绍了计算机组成原理中的浮点数表示和运算。浮点数是一种特殊的数值表示形式,它可以用来表示很大的数值范围,是计算机科学中的重要概念。 浮点数的表示形式...

    解析Java中的精确计算方法.pdf

    "Java中的精确计算方法" Java语言中,浮点数是一种常用的数值类型,但是它并不是非常精确的。浮点数的计算结果可能会出现舍入误差,导致结果不符合预期。这种情况在金融计算、科学计算等领域中尤其重要。 IEEE 754...

    表达式计算(浮点数计算)

    三、浮点数表达式计算的原理 浮点数表达式计算的原理基于中缀表达式和前缀表达式的转换。中缀表达式是指使用中缀运算符的表达式,例如:`3.14 + 2.5 * 4`。前缀表达式是指使用前缀运算符的表达式,例如:`+ 3.14 * ...

    C语言浮点数的二进制表示

    本文将深入探讨C语言中浮点数的二进制表示,并通过一个具体的例子来解释浮点数和整数在内存中的差异。 #### 浮点数的背景 在讨论浮点数的具体表示之前,我们首先需要了解几个基本概念: - **浮点数**:用于表示...

    计算机组成原理:浮点数表示及运算.ppt

    浮点数的表示和运算在计算机组成原理中扮演着非常重要的角色,它广泛应用于科学计算、工程设计、图形处理和人工智能等领域。 浮点数表示和运算是计算机组成原理中的一个重要方面,它对计算机的性能和应用产生了深远...

Global site tag (gtag.js) - Google Analytics