`
yangzb
  • 浏览: 3473839 次
  • 性别: 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 ...

    mathcontext.js

    在前端实际开发中,进行前端计算会出现丢失精度的问题,项目中需要对金钱进行运算,为了使计算结果更准确,故使用bigDecimal工具来实现。

    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; ...

    JavaDemical:Java 数字API

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

    Unified-World-Units:世界单位通用库

    Speed speed = distance.dividedBy(duration, MathContext.UNLIMITED);Pace pace = duration.dividedBy(distance, MathContext.UNLIMITED);System.out.println(speed.getAmount() + " " + speed.getUnit());System....

    bdparsii:超级快速,简单的Java编写的数学表达式计算器,BigDecimal版本

    bdparsii 库的BigDecimal端口。 使用它很简单: Scope scope = Scope ....MathContext 是BigDecimals计算的重要组成部分。 默认情况下,使用DECIMAL64 ,类似于double precision。 可以在Scope实例上设

    学生管理系统+

    import java.math.MathContext; import java.util.Random; import java.util.Scanner; import com.qf.project.Service.StudentService; import com.qf.project.StudentSystem.Student; public class StudentMnue { ...

Global site tag (gtag.js) - Google Analytics