public final class MathContext
extends Object
implements Serializable
java.lang.Object | |
↳ | android.icu.math.MathContext |
MathContext
不可变类封装了BigDecimal
类(以及可能的其他类)的运算符方法所理解的设置。 运算符方法是那些对数字或一对数字进行操作的方法。
这些与基地无关的设置包括:
digits
: the number of digits (precision) to be used for an operation form
: the form of any exponent that results from the operation lostDigits
: whether checking for lost digits is enabled roundingMode
: the algorithm to be used for rounding. 提供时, MathContext
对象会直接提供操作的设置。
当 MathContext.DEFAULT
提供了一种用于 MathContext
参数,则使用默认设置( 9, SCIENTIFIC, false, ROUND_HALF_UP
)。
在BigDecimal
类中,接受MathContext
对象的所有方法MathContext
默认值)也具有不接受MathContext参数的方法版本。 这些版本执行无限精度的定点算术(就像设置为( 0, PLAIN, false, ROUND_HALF_UP
))。
实例变量与默认访问共享(因此它们可以直接被 BigDecimal
类访问),但不能更改。
舍入模式常量与 java.math.BigDecimal
中的同名常量具有相同的名称和值,以保持与早期版本 BigDecimal
。
也可以看看:
Constants |
|
---|---|
int |
ENGINEERING 标准浮点标记(具有工程指数格式,其中10的幂是3的倍数)。 |
int |
PLAIN 普通(固定点)符号,没有任何指数。 |
int |
ROUND_CEILING 舍入模式可以舍入为更正的数字。 |
int |
ROUND_DOWN 舍入模式为零。 |
int |
ROUND_FLOOR 舍入模式四舍五入为更负数。 |
int |
ROUND_HALF_DOWN 舍入模式舍入到最接近的邻居,其中等距值向下舍入。 |
int |
ROUND_HALF_EVEN 舍入模式舍入到最近的邻居,其中等距离的值舍入到最近的偶数邻居。 |
int |
ROUND_HALF_UP 舍入模式将四舍五入到最近的邻居,其中等值的值被四舍五入。 |
int |
ROUND_UNNECESSARY 舍入模式以断言不需要舍入。 |
int |
ROUND_UP 舍入模式从零开始舍入。 |
int |
SCIENTIFIC 标准浮点符号(具有科学指数格式,其中有小数点前一位)。 |
Fields |
|
---|---|
public static final MathContext |
DEFAULT 将一个 |
Public constructors |
|
---|---|
MathContext(int setdigits) 以指定的精度构造新的 |
|
MathContext(int setdigits, int setform) 用指定的精度和形式构造一个新的 |
|
MathContext(int setdigits, int setform, boolean setlostdigits) 用指定的精度,形式和lostDigits设置构造一个新的 |
|
MathContext(int setdigits, int setform, boolean setlostdigits, int setroundingmode) 以指定的精度,形式,lostDigits和roundingMode设置构造一个新的 |
Public methods |
|
---|---|
int |
getDigits() 返回数字设置。 |
int |
getForm() 返回表单设置。 |
boolean |
getLostDigits() 返回lostDigits设置。 |
int |
getRoundingMode() 返回roundingMode设置。 |
String |
toString() 作为可读的字符串返回 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int ENGINEERING
标准浮点标记(具有工程指数格式,其中10的幂是3的倍数)。 用作设置来控制BigDecimal
操作结果的形式。 普通形式的零结果可能包含一个或多个零的小数部分。
也可以看看:
常量值:2(0x00000002)
int PLAIN
普通(固定点)符号,没有任何指数。 用作设置来控制BigDecimal
操作的结果形式。 普通形式的零结果可能包含一个或多个零的小数部分。
也可以看看:
常量值:0(0x00000000)
int ROUND_CEILING
舍入模式可以舍入为更正的数字。 用作控制BigDecimal
操作期间使用的舍入模式的设置。
如果任何丢弃的数字不为零,则结果应该朝向下一个更正的数字。
常量值:2(0x00000002)
int ROUND_DOWN
舍入模式为零。 用作设置以控制BigDecimal
操作期间使用的舍入模式。
所有丢弃的数字都被忽略(截断)。 结果既不增加也不减少。
常数值:1(0x00000001)
int ROUND_FLOOR
舍入模式四舍五入为更负数。 用作控制BigDecimal
操作期间使用的舍入模式的设置。
如果任何被丢弃的数字不为零,那么结果应该向下一个更负的数字四舍五入。
常量值:3(0x00000003)
int ROUND_HALF_DOWN
舍入模式舍入到最接近的邻居,其中等距值向下舍入。 用作设置以控制BigDecimal
操作期间使用的舍入模式。
如果丢弃的数字代表大于下一个位置的值的一半(0.5倍),则结果应该向上取整(远离零)。 否则,丢弃的数字将被忽略。
常量值:5(0x00000005)
int ROUND_HALF_EVEN
舍入模式舍入到最近的邻居,其中等距离的值舍入到最近的偶数邻居。 用作设置以控制BigDecimal
操作期间使用的舍入模式。
如果丢弃的数字代表大于下一个位置的值的一半(0.5倍),则结果应该向上取整(远离零)。 如果它们不到一半,那么结果应该向下舍入。
否则(它们表示正好一半),如果最右边的数字是偶数,则结果向下取整;如果最右边的数字是奇数(取一个偶数),则结果向上取整。
常数值:6(0x00000006)
int ROUND_HALF_UP
舍入模式将四舍五入到最近的邻居,其中等值的值被四舍五入。 用作控制BigDecimal
操作期间使用的舍入模式的设置。
如果丢弃的数字表示大于或等于下一个位置的数值的一半(0.5倍),则结果应该四舍五入(远离零)。 否则,丢弃的数字将被忽略。
常量值:4(0x00000004)
int ROUND_UNNECESSARY
舍入模式以断言不需要舍入。 用作设置以控制BigDecimal
操作期间使用的舍入模式。
舍入(可能丢失信息)是不允许的。 如果任何丢弃的数字不为零,则应抛出ArithmeticException
。
常量值:7(0x00000007)
int ROUND_UP
舍入模式从零开始舍入。 用作设置以控制BigDecimal
操作期间使用的舍入模式。
如果任何被丢弃的数字不为零,则结果将被舍入(远离零)。
常量值:0(0x00000000)
int SCIENTIFIC
标准浮点符号(具有科学指数格式,其中有小数点前一位)。 用作控制BigDecimal
操作结果形式的设置。 普通形式的零结果可能包含一个或多个零的小数部分。
也可以看看:
常数值:1(0x00000001)
MathContext DEFAULT
一个MathContext
对象初始化为通用算术的默认设置。 那就是digits=9 form=SCIENTIFIC lostDigits=false roundingMode=ROUND_HALF_UP
。
也可以看看:
MathContext (int setdigits)
以指定的精度构造一个新的MathContext
。 其他设置被设置为默认值(请参阅DEFAULT
)。 一个IllegalArgumentException
,如果被抛出setdigits
参数超出范围(<0或> 999999999)。
Parameters | |
---|---|
setdigits |
int : The int digits setting for this MathContext . |
Throws | |
---|---|
IllegalArgumentException |
parameter out of range. |
MathContext (int setdigits, int setform)
以指定的精度和形式构造新的MathContext
。 其他设置被设置为默认值(请参阅DEFAULT
)。 一个IllegalArgumentException
,如果被抛出setdigits
参数超出范围(<0或> 999999999),或者如果为给定的值setform
参数不是适当的常数之一。
Parameters | |
---|---|
setdigits |
int : The int digits setting for this MathContext . |
setform |
int : The int form setting for this MathContext . |
Throws | |
---|---|
IllegalArgumentException |
parameter out of range. |
MathContext (int setdigits, int setform, boolean setlostdigits)
用指定的精度,形式和lostDigits设置构造一个新的MathContext
。 roundingMode设置被设置为其默认值(请参阅DEFAULT
)。 一个IllegalArgumentException
,如果被抛出setdigits
参数超出范围(<0或> 999999999),或者如果为给定的值setform
参数不是适当的常数之一。
Parameters | |
---|---|
setdigits |
int : The int digits setting for this MathContext . |
setform |
int : The int form setting for this MathContext . |
setlostdigits |
boolean : The boolean lostDigits setting for this MathContext . |
Throws | |
---|---|
IllegalArgumentException |
parameter out of range. |
MathContext (int setdigits, int setform, boolean setlostdigits, int setroundingmode)
用指定的精度,形式,lostDigits和roundingMode设置构造一个新的MathContext
。 一个IllegalArgumentException
,如果被抛出setdigits
参数超出范围(<0或> 999999999),或者如果为给定的值setform
或setroundingmode
参数不是适当的常数之一。
Parameters | |
---|---|
setdigits |
int : The int digits setting for this MathContext . |
setform |
int : The int form setting for this MathContext . |
setlostdigits |
boolean : The boolean lostDigits setting for this MathContext . |
setroundingmode |
int : The int roundingMode setting for this MathContext . |
Throws | |
---|---|
IllegalArgumentException |
parameter out of range. |
int getDigits ()
返回数字设置。 这个值总是非负的。
Returns | |
---|---|
int |
an int which is the value of the digits setting |
int getForm ()
返回表单设置。 这将是一个ENGINEERING
, PLAIN
,或SCIENTIFIC
。
Returns | |
---|---|
int |
an int which is the value of the form setting |
boolean getLostDigits ()
返回lostDigits设置。 这将是true
(启用)或false
(禁用)。
Returns | |
---|---|
boolean |
a boolean which is the value of the lostDigits setting |
int getRoundingMode ()
返回roundingMode设置。 这将是一个ROUND_CEILING
, ROUND_DOWN
, ROUND_FLOOR
, ROUND_HALF_DOWN
, ROUND_HALF_EVEN
, ROUND_HALF_UP
, ROUND_UNNECESSARY
,或ROUND_UP
。
Returns | |
---|---|
int |
an int which is the value of the roundingMode setting |
String toString ()
以可读字符串的MathContext
返回MathContext
。 所述String
返回表示的设置MathContext
为由单个坯件,并与无前导或尾随空白分隔的四个坯件分开的单词对象,如下所示:
digits=
, immediately followed by the value of the digits setting as a numeric word. form=
, immediately followed by the value of the form setting as an uppercase word (one of SCIENTIFIC
, PLAIN
, or ENGINEERING
). lostDigits=
, immediately followed by the value of the lostDigits setting (1
if enabled, 0
if disabled). roundingMode=
, immediately followed by the value of the roundingMode setting as a word. This word will be the same as the name of the corresponding public constant. 例如:
digits=9 form=SCIENTIFIC lostDigits=0 roundingMode=ROUND_HALF_UP
如果将更多属性添加到课程中,可能会在将来的结果 toString
附加其他词。
Returns | |
---|---|
String |
a String representing the context settings. |