# Java.math.MathContext类实例 - Java.math包
** java.math.MathContext** 类提供了封装上下文设置的不可变对象,并描述数字运算符的某些规则,例如BigDecimal类的实现。
基于独立设置如下:
1. 精度:用于操作的位数;结果四舍五入到这个精度。
2. RoundingMode:一个对象的RoundingMode它指定要用于舍入的算法。
## 类声明
以下是java.math.MathContext类的声明:
```
public final class MathContext
extends Object
implements Serializable
```
## 字段
以下是java.math.MathContext类中的字段:
* 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对象,其设置有需要的无限精度运算的值。
## 类构造函数
| S.N. | 构造函数与说明 |
| --- | --- |
| 1 | **MathContext(int setPrecision)** 这个构造函数,构造一个新的MathContext与指定的精度和HALF_UP舍入模式。 |
| 2 | **MathContext(int setPrecision, RoundingMode setRoundingMode)** 这个构造函数,构造一个新的MathContext与指定的精度和舍入模式。 |
| 3 | **MathContext(String val)** 这个构造函数,从一个字符串构造一个新的MathContext。 |
## 类方法
| S.N. | 方法 & 描述 |
| --- | --- |
| 1 | [boolean equals(Object x)](http://www.yiibai.com/java/math/mathcontext_equals.html) 此方法比较MathContext与指定对象是否相等。 |
| 2 | [int getPrecision()](http://www.yiibai.com/java/math/mathcontext_getprecision.html) 此方法返回设置的精度。 |
| 3 | [RoundingMode getRoundingMode()](http://www.yiibai.com/java/math/mathcontext_getroundingmode.html) 此方法返回RoundingMode设置。 |
| 4 | [int hashCode()](http://www.yiibai.com/java/math/mathcontext_hashcode.html) 此方法返回MathContext的哈希代码。 |
| 5 | [String toString()](http://www.yiibai.com/java/math/mathcontext_tostring.html) 此方法返回当前MathContext的字符串表示形式。 |