Most visited

Recently visited

Added in API level 24

MathContext

public final class MathContext
extends Object implements Serializable

java.lang.Object
   ↳ android.icu.math.MathContext


MathContext不可变类封装了BigDecimal类(以及可能的其他类)的运算符方法所理解的设置。 运算符方法是那些对数字或一对数字进行操作的方法。

这些与基地无关的设置包括:

  1. digits: the number of digits (precision) to be used for an operation
  2. form: the form of any exponent that results from the operation
  3. lostDigits: whether checking for lost digits is enabled
  4. 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

也可以看看:

Summary

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

将一个 MathContext对象初始化为通用算术的默认设置。

Public constructors

MathContext(int setdigits)

以指定的精度构造新的 MathContext

MathContext(int setdigits, int setform)

用指定的精度和形式构造一个新的 MathContext

MathContext(int setdigits, int setform, boolean setlostdigits)

用指定的精度,形式和lostDigits设置构造一个新的 MathContext

MathContext(int setdigits, int setform, boolean setlostdigits, int setroundingmode)

以指定的精度,形式,lostDigits和roundingMode设置构造一个新的 MathContext

Public methods

int getDigits()

返回数字设置。

int getForm()

返回表单设置。

boolean getLostDigits()

返回lostDigits设置。

int getRoundingMode()

返回roundingMode设置。

String toString()

作为可读的字符串返回 MathContext

Inherited methods

From class java.lang.Object

Constants

ENGINEERING

Added in API level 24
int ENGINEERING

标准浮点标记(具有工程指数格式,其中10的幂是3的倍数)。 用作设置来控制BigDecimal操作结果的形式。 普通形式的零结果可能包含一个或多个零的小数部分。

也可以看看:

常量值:2(0x00000002)

PLAIN

Added in API level 24
int PLAIN

普通(固定点)符号,没有任何指数。 用作设置来控制BigDecimal操作的结果形式。 普通形式的零结果可能包含一个或多个零的小数部分。

也可以看看:

常量值:0(0x00000000)

ROUND_CEILING

Added in API level 24
int ROUND_CEILING

舍入模式可以舍入为更正的数字。 用作控制BigDecimal操作期间使用的舍入模式的设置。

如果任何丢弃的数字不为零,则结果应该朝向下一个更正的数字。

常量值:2(0x00000002)

ROUND_DOWN

Added in API level 24
int ROUND_DOWN

舍入模式为零。 用作设置以控制BigDecimal操作期间使用的舍入模式。

所有丢弃的数字都被忽略(截断)。 结果既不增加也不减少。

常数值:1(0x00000001)

ROUND_FLOOR

Added in API level 24
int ROUND_FLOOR

舍入模式四舍五入为更负数。 用作控制BigDecimal操作期间使用的舍入模式的设置。

如果任何被丢弃的数字不为零,那么结果应该向下一个更负的数字四舍五入。

常量值:3(0x00000003)

ROUND_HALF_DOWN

Added in API level 24
int ROUND_HALF_DOWN

舍入模式舍入到最接近的邻居,其中等距值向下舍入。 用作设置以控制BigDecimal操作期间使用的舍入模式。

如果丢弃的数字代表大于下一个位置的值的一半(0.5倍),则结果应该向上取整(远离零)。 否则,丢弃的数字将被忽略。

常量值:5(0x00000005)

ROUND_HALF_EVEN

Added in API level 24
int ROUND_HALF_EVEN

舍入模式舍入到最近的邻居,其中等距离的值舍入到最近的偶数邻居。 用作设置以控制BigDecimal操作期间使用的舍入模式。

如果丢弃的数字代表大于下一个位置的值的一半(0.5倍),则结果应该向上取整(远离零)。 如果它们不到一半,那么结果应该向下舍入。

否则(它们表示正好一半),如果最右边的数字是偶数,则结果向下取整;如果最右边的数字是奇数(取一个偶数),则结果向上取整。

常数值:6(0x00000006)

ROUND_HALF_UP

Added in API level 24
int ROUND_HALF_UP

舍入模式将四舍五入到最近的邻居,其中等值的值被四舍五入。 用作控制BigDecimal操作期间使用的舍入模式的设置。

如果丢弃的数字表示大于或等于下一个位置的数值的一半(0.5倍),则结果应该四舍五入(远离零)。 否则,丢弃的数字将被忽略。

常量值:4(0x00000004)

ROUND_UNNECESSARY

Added in API level 24
int ROUND_UNNECESSARY

舍入模式以断言不需要舍入。 用作设置以控制BigDecimal操作期间使用的舍入模式。

舍入(可能丢失信息)是不允许的。 如果任何丢弃的数字不为零,则应抛出ArithmeticException

常量值:7(0x00000007)

ROUND_UP

Added in API level 24
int ROUND_UP

舍入模式从零开始舍入。 用作设置以控制BigDecimal操作期间使用的舍入模式。

如果任何被丢弃的数字不为零,则结果将被舍入(远离零)。

常量值:0(0x00000000)

SCIENTIFIC

Added in API level 24
int SCIENTIFIC

标准浮点符号(具有科学指数格式,其中有小数点前一位)。 用作控制BigDecimal操作结果形式的设置。 普通形式的零结果可能包含一个或多个零的小数部分。

也可以看看:

常数值:1(0x00000001)

Fields

DEFAULT

Added in API level 24
MathContext DEFAULT

一个MathContext对象初始化为通用算术的默认设置。 那就是digits=9 form=SCIENTIFIC lostDigits=false roundingMode=ROUND_HALF_UP

也可以看看:

Public constructors

MathContext

Added in API level 24
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

Added in API level 24
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

Added in API level 24
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

Added in API level 24
MathContext (int setdigits, 
                int setform, 
                boolean setlostdigits, 
                int setroundingmode)

用指定的精度,形式,lostDigits和roundingMode设置构造一个新的MathContext 一个IllegalArgumentException ,如果被抛出setdigits参数超出范围(<0或> 999999999),或者如果为给定的值setformsetroundingmode参数不是适当的常数之一。

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.

Public methods

getDigits

Added in API level 24
int getDigits ()

返回数字设置。 这个值总是非负的。

Returns
int an int which is the value of the digits setting

getForm

Added in API level 24
int getForm ()

返回表单设置。 这将是一个ENGINEERINGPLAIN ,或SCIENTIFIC

Returns
int an int which is the value of the form setting

getLostDigits

Added in API level 24
boolean getLostDigits ()

返回lostDigits设置。 这将是true (启用)或false (禁用)。

Returns
boolean a boolean which is the value of the lostDigits setting

getRoundingMode

Added in API level 24
int getRoundingMode ()

返回roundingMode设置。 这将是一个ROUND_CEILINGROUND_DOWNROUND_FLOORROUND_HALF_DOWNROUND_HALF_EVENROUND_HALF_UPROUND_UNNECESSARY ,或ROUND_UP

Returns
int an int which is the value of the roundingMode setting

toString

Added in API level 24
String toString ()

以可读字符串的MathContext返回MathContext 所述String返回表示的设置MathContext为由单个坯件,并与无前导或尾随空白分隔的四个坯件分开的单词对象,如下所示:

  1. digits=, immediately followed by the value of the digits setting as a numeric word.
  2. form=, immediately followed by the value of the form setting as an uppercase word (one of SCIENTIFIC, PLAIN, or ENGINEERING).
  3. lostDigits=, immediately followed by the value of the lostDigits setting (1 if enabled, 0 if disabled).
  4. 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.

Hooray!