`
yangzb
  • 浏览: 3503322 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

类 MathContext

    博客分类:
  • Java
阅读更多

类 MathContext

java.lang.Object

  继承者 
java.math.MathContext

所有已实现的接口:
Serializable

public final class MathContext
extends Object
implements Serializable

该对象是封装上下文设置的不可变对象,它描述数字运算符的某些规则,例如由 BigDecimal 类实现的规则。

基本独立设置为:

  1. precision :某个操作使用的数字个数;结果舍入到此精度
  2. roundingMode :一个 RoundingMode 对象,该对象指定舍入使用的算法。

 

 

另请参见:
BigDecimal , RoundingMode , 序列化表格

<!----> <!---->

字段摘要
static MathContext DECIMAL128
          一个 MathContext 对象,其精度设置与 IEEE 754R Decimal128 格式(即 34 个数字)匹配,舍入模式为 HALF_EVEN ,这是 IEEE 754R 的默认舍入模式。
static MathContext DECIMAL32
          一个 MathContext 对象,其精度设置与 IEEE 754R Decimal32 格式(即 7 个数字)匹配,舍入模式为 HALF_EVEN ,这是 IEEE 754R 的默认舍入模式。
static MathContext DECIMAL64
          一个 MathContext 对象,其精度设置与 IEEE 754R Decimal64 格式(即 16 个数字)匹配,舍入模式为 HALF_EVEN ,这是 IEEE 754R 的默认舍入模式。
static MathContext UNLIMITED
          其设置具有无限精度算法所需值的 MathContext 对象。
 

<!---->

构造方法摘要
MathContext (int setPrecision)
          使用指定的精度和 HALF_UP 舍入模式构造一个新的 MathContext
MathContext (int setPrecision, RoundingMode  setRoundingMode)
          使用指定的精度和舍入模式构造一个新的 MathContext
MathContext (String  val)
          从一个字符串构造一个新的 MathContext
 

<!---->

方法摘要
 boolean equals (Object  x)
          将此 MathContext 与指定的 Object 进行相等性比较。
 int getPrecision ()
          返回 precision 设置。
 RoundingMode getRoundingMode ()
          返回 roundingMode 设置。
 int hashCode ()
          返回此 MathContext 的哈希码。
 String toString ()
          返回此 MathContext 的字符串表示形式。

 <!---->

从类 java.lang.Object 继承的方法
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

<!----> <!---->

字段详细信息

<!---->

UNLIMITED

public static final MathContext
 UNLIMITED
其设置具有无限精度算法所需值的 MathContext 对象。该设置的值为:precision=0 roundingMode=HALF_UP

 


<!---->

DECIMAL32

public static final MathContext
 DECIMAL32
一个 MathContext 对象,其精度设置与 IEEE 754R Decimal32 格式(即 7 个数字)匹配,舍入模式为 HALF_EVEN ,这是 IEEE 754R 的默认舍入模式。

 


<!---->

DECIMAL64

public static final MathContext
 DECIMAL64
一个 MathContext 对象,其精度设置与 IEEE 754R Decimal64 格式(即 16 个数字)匹配,舍入模式为 HALF_EVEN ,这是 IEEE 754R 的默认舍入模式。

 


<!---->

DECIMAL128

public static final MathContext
 DECIMAL128
一个 MathContext 对象,其精度设置与 IEEE 754R Decimal128 格式(即 34 个数字)匹配,舍入模式为 HALF_EVEN ,这是 IEEE 754R 的默认舍入模式。

 

<!---->

构造方法详细信息

<!---->

MathContext

public MathContext
(int setPrecision)
使用指定的精度和 HALF_UP 舍入模式构造一个新的 MathContext

 

参数:
setPrecision - 非负 int 精度设置。
抛出:
IllegalArgumentException - setPrecision 参数小于零。

<!---->

MathContext

public MathContext
(int setPrecision,
                   RoundingMode
 setRoundingMode)
使用指定的精度和舍入模式构造一个新的 MathContext

 

参数:
setPrecision - 非负 int 精度设置。
setRoundingMode - 要使用的舍入模式。
抛出:
IllegalArgumentException - setPrecision 参数小于零。

<!---->

MathContext

public MathContext
(String
 val)
从一个字符串构造一个新的 MathContext 。 该字符串的格式必须与 toString() 方法生成的字符串的格式相同。

如果字符串的精度部分超出范围 (< 0),或者字符串的格式不是 toString() 方法创建的格式,则抛出 IllegalArgumentException

 

参数:
val - 要分析的字符串
抛出:
IllegalArgumentException - 精度参数超出范围或者格式不正确

<!---->

方法详细信息

<!---->

getPrecision

public int getPrecision
()
返回 precision 设置。此值始终为非负数。

 

返回:
一个 int ,它是 precision 设置的值

<!---->

getRoundingMode

public RoundingMode
 getRoundingMode
()
返回 roundingMode 设置。它将是 RoundingMode.CEILING RoundingMode.DOWN RoundingMode.FLOOR RoundingMode.HALF_DOWN RoundingMode.HALF_EVEN RoundingMode.HALF_UP RoundingMode.UNNECESSARY RoundingMode.UP 之一。

 

返回:
一个 RoundingMode 对象,它是 roundingMode 设置的值

<!---->

equals

public boolean equals
(Object
 x)
将此 MathContext 与指定的 Object 进行相等性比较。

 

覆盖:
Object 中的 equals
参数:
x - 将与 MathContext 相比较的 Object
返回:
当且仅当指定的 Object 是一个 MathContext 对象,并且它与此对象具有完全相同的设置,才返回 true
另请参见:
Object.hashCode() , Hashtable

<!---->

hashCode

public int hashCode
()
返回此 MathContext 的哈希码。

 

覆盖:
Object 中的 hashCode
返回:
MathContext 的哈希码
另请参见:
Object.equals(java.lang.Object) , Hashtable

<!---->

toString

public String
 toString
()
返回此 MathContext 的字符串表示形式。返回的 String 表示 MathContext 对象的设置,表示为两个由空格分开的单词(由单个空格字符 '\u0020' 分隔,且没有前导空格和后缀空格),如下所示:
  1. 字符串 "precision=" 后面紧跟以数字字符串形式表示的精度设置的值,该字符串像是由 Integer.toString 方法生成的。
  2. 字符串 "roundingMode=" 后面紧跟以单词表示的 roundingMode 设置的值。此单词与 RoundingMode 枚举中对应的公共常量的名称相同。

例如:

 precision=9 roundingMode=HALF_UP
 
如果向此类添加了多个属性,则以后可以将其他单词追加到 toString 的结果中。

 

覆盖:
Object 中的 toString
返回:
表示上下文设置的 String
分享到:
评论

相关推荐

    javascrpt BigDecimal MathContext 大数运算类 完整版

    文件结构如下 AUTHORS COPYING ...README.md build/BigDecimal-all-last.js build/BigDecimal-all-last.min.js build/preserved_multiline_comment_begin.closure.js build/preserved_multiline_comment_begin.yui.js ...

    big-math:使用任意精度的高级Java BigDecimal数学函数(pow,sqrt,log,sin等)

    大十进制数学BigDecimalMath类为以下各项提供了有效且准确的实现: log(BigDecimal, MathContext) exp(BigDecimal, MathContext) pow(BigDecimal, BigDecimal, MathContext)计算x ^ y sqrt(BigDecimal, MathContext)...

    Java 加减乘除工具类(解决精度损失问题)

    唔,其实里面就是一个工具类,加减乘除、保留两位小数。一共5个方法。。。emmmm.....为啥分这么高呢。因为宝宝想分想疯了。 附代码,有土豪就打赏打赏,没土豪的直接拿去使吧。 package cn.cisdom.base.utils; ...

    计算器源码

    9. **MathContext和BigDecimal类**:`BigDecimal`和`MathContext`用于进行精确的浮点数运算,避免了浮点运算中的精度问题。在实际的计算器应用中,可能会使用这些类来进行高精度计算。 10. **LookAndFeel**:`...

    高精度JSBigDecimal运算

    `mathcontext2.js`文件很可能是一个类似于Java的`MathContext`类,它用于定义计算的精度和舍入模式。在进行高精度计算时,设置合适的`MathContext`可以控制计算结果的位数和舍入策略。例如,你可以指定保留的小数...

    JavaScript 精确计算(2)

    3. **MathContext对象**:`mathcontext.js`文件可能包含一个名为`MathContext`的对象,这是在某些精确计算库中常见的概念,用来控制计算的精度和舍入规则。例如,你可以设置小数点后的位数,以及在舍入时遵循的策略...

    java API API

    `java.util.MathContext`和`java.math.BigDecimal`类增加了对高精度计算的支持,为财务和科学计算提供了更精确的数值处理。 这些是JDK7中Java API的一些重要更新和改进。通过使用这些新特性,开发者可以编写更高效...

    java大数相加

    当两个数值超出标准整型或浮点型数据类型的范围时,Java提供了`java.math.BigInteger`类来处理这样的大数运算。这个类能够表示任意大小的整数,并提供了丰富的数学操作方法,包括加法。本篇文章将深入探讨如何使用`...

    java编译的大整数程序可加减求绝对值开平方

    Java提供了一个名为`BigInteger`的类,位于`java.math`包下,专门用于处理任意精度的整数。本文将详细讲解如何使用`BigInteger`进行大整数的加减运算、求绝对值以及开平方。 1. ** BigInteger 类的创建与使用**: ...

    大数的 加 减 乘 除 开方运算Java版

    BigDecimal sqrtNum = bdNum.sqrt(MathContext.DECIMAL128); ``` 这些示例展示了如何在Java中使用`BigInteger`类进行大数运算。在实际项目中,可能还需要考虑性能优化、异常处理和格式化输出等问题。理解并熟练运用...

    java BigDecimal操作

    在Java编程语言中,BigDecimal类是用于处理高精度、大范围浮点数的工具,它在需要精确计算的场景下非常关键。BigDecimal提供了避免浮点数运算中的精度损失的方法,适用于金融、会计等对精度有严格要求的领域。这篇...

    java中每月等额与先息后本计算

    `MoneyUtils.MATHCONTEXT`通常是一个预定义的`MathContext`对象,用来控制计算的精度。 总之,理解并正确计算每月等额与先息后本的还款方式对于借贷双方都至关重要,它涉及到财务规划、风险管理和成本控制。在Java...

    JavaDemical:Java 数字API

    否则,通过向该操作提供适当的MathContext对象,可以对已选择的精度和舍入模式执行计算。 在商业计算中要用BigDecimal。BigDecimal所创建的是对象, 我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学...

    java代码-BigDecimal 四舍五入保留2位小数. 金额从单位分转成单位元

    在Java编程中,BigDecimal类是用于处理大整数和高精度浮点数的。当我们处理金融或财务数据时,由于浮点数运算可能存在精度问题,所以通常会使用BigDecimal来确保计算的精确性。本示例将详细介绍如何使用BigDecimal...

    Multiply:乘以dwo大整数

    当处理大量运算时,可以考虑使用`BigInteger`的`MathContext`来控制精度和舍入行为,以提高性能。 9. **与`BigDecimal`的区别**: 虽然`BigInteger`处理大整数,`BigDecimal`处理大浮点数,但两者都是为了处理...

    java计算方差、标准差(均方差)实例代码

    为了解决这个问题,我们可以使用 BigDecimal 类计算平方根: private static BigDecimal sqrt(BigDecimal num) { if (num.compareTo(BigDecimal.ZERO) ) { return BigDecimal.ZERO; } BigDecimal x = num....

    使用java处理字符串公式运算的方法

    resultStack.push(operand1.divide(operand2, MathContext.DECIMAL128)); break; } } else { operands.add(values.get(token)); } } return resultStack.pop(); } private static boolean isOperator...

    test-decimal:Mod的测试任务

    平方根等运算可以通过`MathContext`来控制精度。 在"test-decimal-master"这个项目中,测试用例应该覆盖上述所有方面,确保`BigDecimal`的正确性和效率。通过详尽的测试,我们可以确保在实际应用中`BigDecimal`能够...

    EulerProblems:使用 java 解决 EulerProblems 的方法

    或者在需要处理复杂数学计算时,`java.lang.Math`和`java.util.MathContext`可以提供浮点数和高精度运算。 **示例代码结构** 以下是一个基本的Java代码结构,用于解决一个欧拉问题: ```java public class ...

Global site tag (gtag.js) - Google Analytics