模块 java.base
 java.text

类 DecimalFormat

所有已实现的接口:
Serializable , Cloneable

public class DecimalFormat extends NumberFormat
DecimalFormatNumberFormat 的具体子类,用于格式化十进制数。它具有多种功能,旨在使在任何区域设置中解析和格式化数字成为可能,包括对西方、阿拉伯和印度数字的支持。它还支持不同类型的数字,包括整数 (123)、定点数 (123.4)、科学记数法 (1.23E4)、百分比 (12%) 和货币金额 ($123)。所有这些都可以本地化。

要获取特定locale(包括默认locale)的 NumberFormat,请调用 NumberFormat 的工厂方法之一,例如 getInstance() 。通常,不要直接调用 DecimalFormat 构造函数,因为 NumberFormat 工厂方法可能会返回 DecimalFormat 以外的子类。如果您需要自定义格式对象,请执行以下操作:

 NumberFormat f = NumberFormat.getInstance(loc);
 if (f instanceof DecimalFormat) {
   ((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
 }
 

DecimalFormat 包含一个 pattern 和一组 symbols。模式可以直接使用 applyPattern() 设置,或间接使用 API 方法设置。这些符号存储在 DecimalFormatSymbols 对象中。使用 NumberFormat 工厂方法时,模式和符号是从本地化的 ResourceBundle 中读取的。

Pattern

DecimalFormat 模式具有以下语法:
 Pattern:
     PositivePattern
     PositivePattern ; NegativePattern
 PositivePattern:
     Prefixopt Number Suffixopt
 NegativePattern:
     Prefixopt Number Suffixopt
 Prefix:
     any Unicode characters except U+FFFE , U+FFFF , and special characters
 Suffix:
     any Unicode characters except U+FFFE , U+FFFF , and special characters
 Number:
     Integer Exponentopt
     Integer . Fraction Exponentopt
 Integer:
     MinimumInteger
     #
     # Integer
     # , Integer
 MinimumInteger:
     0
     0 MinimumInteger
     0 , MinimumInteger
 Fraction:
     MinimumFractionopt OptionalFractionopt
 MinimumFraction:
     0 MinimumFractionopt
 OptionalFraction:
     # OptionalFractionopt
 Exponent:
     E MinimumExponent
 MinimumExponent:
     0 MinimumExponentopt
 

DecimalFormat 模式包含正负子模式,例如 "#,##0.00;(#,##0.00)" 。每个子模式都有一个前缀、数字部分和后缀。否定子模式是可选的;如果不存在,则以减号 ('-' U+002D HYPHEN-MINUS) 为前缀的正子模式用作负子模式。也就是说,单独的 "0.00" 相当于 "0.00;-0.00" 。如果有一个明确的否定子模式,它只用于指定否定前缀和后缀;数字位数、最小数字和其他特征都与正模式相同。这意味着 "#,##0.0#;(#)" 产生与 "#,##0.0#;(#,##0.0#)" 完全相同的行为。

用于无穷大、数字、分组分隔符、小数分隔符等的前缀、后缀和各种符号可以设置为任意值,它们将在格式化期间正确显示。但是要注意符号和字符串不要冲突,否则解析不可靠。例如,正负前缀或后缀必须不同,DecimalFormat.parse() 才能区分正值和负值。 (如果它们相同,那么 DecimalFormat 的行为就好像没有指定负子模式一样。)另一个例子是小数点分隔符和分组分隔符应该是不同的字符,否则将无法解析。

分组分隔符通常用于千位,但在某些国家/地区它分隔万位。分组大小是分组字符之间的常数位数,例如 3 代表 100,000,000 或 4 代表 1,0000,0000。如果您提供具有多个分组字符的模式,则使用最后一个字符和整数末尾之间的间隔。所以 "#,##,###,####" == "######,####" == "##,####,####"

特殊图案字符

模式中的许多字符都是按字面意思理解的;它们在解析期间匹配,在格式化期间输出不变。另一方面,特殊字符代表其他字符、字符串或字符类。除非另有说明,否则必须将它们作为文字出现在前缀或后缀中。

此处列出的字符用于非本地化模式。本地化模式改为使用从此格式化程序的 DecimalFormatSymbols 对象中获取的相应字符,并且这些字符失去了它们的特殊状态。两个例外是未本地化的货币符号和引号。

显示符号、位置、本地化和含义的图表。
符号 Location 本土化? 意义
0 Number 是的 数字
# Number 是的 数字,零表示不存在
. Number 是的 小数点分隔符或货币小数点分隔符
- Number 是的 减号
, Number 是的 分组分隔符或货币分组分隔符
E Number 是的 在科学记数法中分隔尾数和指数。 Need not be quoted in prefix or suffix.
; 子模式边界 是的 分离正负子模式
% 字首或字尾 是的 乘以 100 并显示为百分比
U+2030 字首或字尾 是的 乘以 1000 并显示为每千值
¤ (U+00A4 ) 字首或字尾 货币符号,由货币符号代替。如果加倍,则替换为国际货币符号。如果出现在模式中,则使用货币小数/分组分隔符而不是小数/分组分隔符。
' 字首或字尾 用于引用前缀或后缀中的特殊字符,例如,"'#'#" 格式 123 到 "#123"。要自己创建单引号,请连续使用两个:"# o''clock"

科学计数法

科学计数法中的数字表示为尾数与十的幂的乘积,例如,1234 可以表示为 1.234 x 10^3。尾数通常在 1.0 ≤ x < 10.0 的范围内,但并非必须如此。 DecimalFormat 可以被指示格式化和解析科学记数法 only via a pattern ;目前没有创建科学记数法格式的工厂方法。在模式中,指数字符紧跟一个或多个数字字符表示科学记数法。示例:"0.###E0" 将数字 1234 格式化为 "1.234E3"

  • 指数字符后的数字字符数给出最小指数位数。没有最大值。负指数使用本地化的减号格式化,not 模式的前缀和后缀。这允许诸如 "0.###E0 m/s" 之类的模式。
  • 最小和最大整数位数一起解释:
    • 如果最大整数位数大于它们的最小位数且大于1,则强制指数为最大整数位数的倍数,最小整数位数被解释为1。最常见的使用它是为了生成 engineering notation ,其中指数是三的倍数,例如 "##0.#####E0" 。使用此模式,数字 12345 格式为 "12.345E3" ,数字 123456 格式为 "123.456E3"
    • 否则,最小整数位数通过调整指数来实现。示例:0.00123 格式化为 "00.###E0" 产生 "12.3E-4"
  • 尾数有效位数为minimum integermaximum fraction位数之和,不受最大整数位数影响。例如,用 "##0.##E0" 格式化的 12345 是 "12.3E3" 。要显示所有数字,请将有效数字计数设置为零。有效数字的数量不影响解析。
  • 指数模式可能不包含分组分隔符。

四舍五入

DecimalFormat 提供在 RoundingMode 中定义的舍入模式用于格式化。默认情况下,它使用 RoundingMode.HALF_EVEN

位数

对于格式化,DecimalFormat 使用以 DecimalFormatSymbols 对象中定义的本地化零数字开头的十个连续字符作为数字。对于解析,这些数字以及 Character.digit 定义的所有 Unicode 十进制数字都被识别。

特殊值

NaN 被格式化为一个字符串,通常只有一个字符 U+FFFD 。此字符串由 DecimalFormatSymbols 对象确定。这是唯一没有使用前缀和后缀的值。

Infinity 被格式化为字符串,通常具有单个字符 U+221E ,并应用正负前缀和后缀。无限字符串由 DecimalFormatSymbols 对象确定。

负零 ("-0") 解析为

  • BigDecimal(0) 如果 isParseBigDecimal() 为真,
  • Long(0) 如果 isParseBigDecimal() 为假且 isParseIntegerOnly() 为真,
  • Double(-0.0) 如果 isParseBigDecimal()isParseIntegerOnly() 都为假。

同步化

十进制格式一般不同步。建议为每个线程创建单独的格式实例。如果多个线程同时访问一个格式,则必须在外部进行同步。

示例


 // Print out a number using the localized number, integer, currency,
 // and percent format for each locale  
 Locale[] locales = NumberFormat.getAvailableLocales();
 double myNumber = -1234.56;
 NumberFormat form;
 for (int j = 0; j < 4; ++j) {
   System.out.println("FORMAT");
   for (int i = 0; i < locales.length; ++i) {
     if (locales[i].getCountry().length() == 0) {
      continue; // Skip language-only locales
     }
     System.out.print(locales[i].getDisplayName());
     switch (j) {
     case 0:
       form = NumberFormat.getInstance(locales[i]); break;
     case 1:
       form = NumberFormat.getIntegerInstance(locales[i]); break;
     case 2:
       form = NumberFormat.getCurrencyInstance(locales[i]); break;
     default:
       form = NumberFormat.getPercentInstance(locales[i]); break;
     }
     if (form instanceof DecimalFormat) {
       System.out.print(": " + ((DecimalFormat) form).toPattern());
     }
     System.out.print(" -> " + form.format(myNumber));
     try {
       System.out.println(" -> " + form.parse(form.format(myNumber)));
     } catch (ParseException e) {}
   }
 }
  
自从:
1.1
参见:
  • 构造方法详细信息

  • 方法详情

    • format

      public final StringBuffer  format(Object  number, StringBuffer  toAppendTo, FieldPosition  pos)
      格式化数字并将结果文本附加到给定的字符串缓冲区。该号码可以是 Number 的任何子类。

      此实现使用允许的最大精度。

      重写:
      format 在类 NumberFormat
      参数:
      number - 要格式化的数字
      toAppendTo - 要附加格式化文本的 StringBuffer
      pos - 跟踪字段在返回字符串中的位置。例如,要在 Locale.US locale中格式化数字 1234567.89,如果给定的 fieldPositionNumberFormat.INTEGER_FIELD ,则 fieldPosition 的开始索引和结束索引将分别设置为 0 和 9,用于输出字符串 1,234,567.89
      返回:
      作为toAppendTo传入的值
      抛出:
      IllegalArgumentException - 如果 number 为空或不是 Number 的实例。
      NullPointerException - 如果 toAppendTopos 为空
      ArithmeticException - 如果需要舍入模式设置为 RoundingMode.UNNECESSARY
      参见:
    • format

      public StringBuffer  format(double number, StringBuffer  result, FieldPosition  fieldPosition)
      格式化 double 以生成字符串。
      指定者:
      format 在类 NumberFormat
      参数:
      number - 双重格式化
      result - 要附加文本的位置
      fieldPosition - 跟踪字段在返回字符串中的位置。例如,要在 Locale.US locale中格式化数字 1234567.89,如果给定的 fieldPositionNumberFormat.INTEGER_FIELD ,则 fieldPosition 的开始索引和结束索引将分别设置为 0 和 9,用于输出字符串 1,234,567.89
      返回:
      格式化的数字字符串
      抛出:
      NullPointerException - 如果 resultfieldPositionnull
      ArithmeticException - 如果需要舍入模式设置为 RoundingMode.UNNECESSARY
      参见:
    • format

      public StringBuffer  format(long number, StringBuffer  result, FieldPosition  fieldPosition)
      格式化 long 以生成字符串。
      指定者:
      format 在类 NumberFormat
      参数:
      number - 长格式
      result - 要附加文本的位置
      fieldPosition - 跟踪字段在返回字符串中的位置。例如,要在 Locale.US 区域设置中格式化数字 123456789,如果给定的 fieldPositionNumberFormat.INTEGER_FIELD ,则 fieldPosition 的开始索引和结束索引将分别设置为 0 和 11,用于输出字符串 123,456,789
      返回:
      格式化的数字字符串
      抛出:
      NullPointerException - 如果 resultfieldPositionnull
      ArithmeticException - 如果需要舍入模式设置为 RoundingMode.UNNECESSARY
      参见:
    • formatToCharacterIterator

      public AttributedCharacterIterator  formatToCharacterIterator(Object  obj)
      格式化生成 AttributedCharacterIterator 的对象。您可以使用返回的 AttributedCharacterIterator 构建结果字符串,以及确定关于结果字符串的信息。

      AttributedCharacterIterator 的每个属性键都是 NumberFormat.Field 类型,属性值与属性键相同。

      重写:
      formatToCharacterIterator 在类 Format
      参数:
      obj - 要格式化的对象
      返回:
      描述格式化值的 AttributedCharacterIterator。
      抛出:
      NullPointerException - 如果 obj 为空。
      IllegalArgumentException - 当 Format 无法格式化给定的对象时。
      ArithmeticException - 如果需要舍入模式设置为 RoundingMode.UNNECESSARY
      自从:
      1.4
    • parse

      public Number  parse(String  text, ParsePosition  pos)
      解析字符串中的文本以生成 Number

      该方法尝试从 pos 给出的索引开始解析文本。如果解析成功,则将pos的索引更新为最后使用的字符后的索引(解析不一定使用到字符串末尾的所有字符),并返回解析后的数字。更新后的 pos 可用于指示下一次调用此方法的起点。如果发生错误,则不更改pos的索引,将pos的错误索引设置为发生错误的字符的索引,并返回null。

      返回的子类取决于isParseBigDecimal() 的值以及正在解析的字符串。

      • 如果 isParseBigDecimal() 为 false(默认值),则大多数整数值都作为 Long 对象返回,无论它们是如何编写的:"17""17.000" 都解析为 Long(17) 。无法放入 Long 的值将作为 Double 返回。这包括带有小数部分的值、无限值、NaN 和值 -0.0。 DecimalFormat not 会根据源字符串中是否存在小数点分隔符来决定是返回 Double 还是 Long。这样做可以防止溢出双精度尾数的整数(例如 "-9,223,372,036,854,775,808.00" )被准确解析。

        调用者可以使用 Number 方法 doubleValuelongValue 等来获取他们想要的类型。

      • 如果 isParseBigDecimal() 为真,则值作为 BigDecimal 对象返回。这些值是由 BigDecimal(String) 为与locale无关的格式的相应字符串构造的值。负无穷大和正无穷大以及 NaN 的特殊情况作为 Double 实例返回,其中包含相应的 Double 常量的值。

      DecimalFormat 解析所有表示十进制数字的 Unicode 字符,如 Character.digit() 所定义。此外,DecimalFormat 还将以 DecimalFormatSymbols 对象中定义的本地化零数字开头的十个连续字符识别为数字。

      指定者:
      parse 在类 NumberFormat
      参数:
      text - 要解析的字符串
      pos - 具有如上所述的索引和错误索引信息的 ParsePosition 对象。
      返回:
      解析后的值,如果解析失败则返回 null
      抛出:
      NullPointerException - 如果 textpos 为空。
      参见:
    • getDecimalFormatSymbols

      public DecimalFormatSymbols  getDecimalFormatSymbols()
      返回十进制格式符号的副本,程序员或用户通常不会更改它。
      返回:
      所需 DecimalFormatSymbols 的副本
      参见:
    • setDecimalFormatSymbols

      public void setDecimalFormatSymbols(DecimalFormatSymbols  newSymbols)
      设置十进制格式符号,程序员或用户一般不更改。
      参数:
      newSymbols - 所需的 DecimalFormatSymbols
      参见:
    • getPositivePrefix

      public String  getPositivePrefix()
      获取正前缀。

      示例:+123、123 美元、123 瑞士法郎

      返回:
      正面前缀
    • setPositivePrefix

      public void setPositivePrefix(String  newValue)
      设置正前缀。

      示例:+123、123 美元、123 瑞士法郎

      参数:
      newValue - 新的正前缀
    • getNegativePrefix

      public String  getNegativePrefix()
      获取否定前缀。

      示例:-123、($123)(带有负后缀)、sFr-123

      返回:
      否定前缀
    • setNegativePrefix

      public void setNegativePrefix(String  newValue)
      设置否定前缀。

      示例:-123、($123)(带有负后缀)、sFr-123

      参数:
      newValue - 新的否定前缀
    • getPositiveSuffix

      public String  getPositiveSuffix()
      获取正后缀。

      示例:123%

      返回:
      正后缀
    • setPositiveSuffix

      public void setPositiveSuffix(String  newValue)
      设置正后缀。

      示例:123%

      参数:
      newValue - 新的正后缀
    • getNegativeSuffix

      public String  getNegativeSuffix()
      获取负后缀。

      示例:-123%,($123)(带正后缀)

      返回:
      否定后缀
    • setNegativeSuffix

      public void setNegativeSuffix(String  newValue)
      设置负数后缀。

      示例:123%

      参数:
      newValue - 新的否定后缀
    • getMultiplier

      public int getMultiplier()
      获取以百分比、千分率和类似格式使用的乘数。
      返回:
      乘数
      参见:
    • setMultiplier

      public void setMultiplier(int newValue)
      设置用于百分比、千分率和类似格式的乘数。对于百分比格式,将乘数设置为 100 并将后缀设置为“%”(对于阿拉伯语,使用阿拉伯语百分号)。对于千分之一格式,将乘数设置为 1000,将后缀设置为“U+2030”。

      示例:乘数为 100,1.23 被格式化为“123”,“123”被解析为 1.23。

      参数:
      newValue - 新的乘数
      参见:
    • getGroupingSize

      public int getGroupingSize()
      返回分组大小。分组大小是数字整数部分中分组分隔符之间的位数。例如,在数字“123,456.78”中,分组大小为 3。分组大小为零表示不使用分组,这提供与调用 setGroupingUsed(false) 相同的格式。
      返回:
      分组大小
      参见:
    • setGroupingSize

      public void setGroupingSize(int newValue)
      设置分组大小。分组大小是数字整数部分中分组分隔符之间的位数。例如,在数字“123,456.78”中,分组大小为 3。分组大小为零表示不使用分组,这提供与调用 setGroupingUsed(false) 相同的格式。

      传入的值被转换为字节,可能会丢失信息。负值或大于 Byte.MAX_VALUE 的值将抛出 IllegalArgumentException

      参数:
      newValue - 新的分组大小
      抛出:
      IllegalArgumentException - 如果 newValue 为负或大于 Byte.MAX_VALUE
      参见:
    • isDecimalSeparatorAlwaysShown

      public boolean isDecimalSeparatorAlwaysShown()
      允许您使用整数获取小数点分隔符的行为。 (小数分隔符将始终与小数一起出现。)

      示例:十进制开:12345 → 12345。;关闭:12345 → 12345

      返回:
      true 如果始终显示小数分隔符; false否则
    • setDecimalSeparatorAlwaysShown

      public void setDecimalSeparatorAlwaysShown(boolean newValue)
      允许您使用整数设置小数点分隔符的行为。 (小数分隔符将始终与小数一起出现。)

      示例:十进制开:12345 → 12345。;关闭:12345 → 12345

      参数:
      newValue - true 如果始终显示小数分隔符; false否则
    • isParseBigDecimal

      public boolean isParseBigDecimal()
      返回 parse(java.lang.String, java.text.ParsePosition) 方法是否返回 BigDecimal 。默认值为假。
      返回:
      true 如果 parse 方法返回 BigDecimal; false否则
      自从:
      1.5
      参见:
    • setParseBigDecimal

      public void setParseBigDecimal(boolean newValue)
      设置 parse(java.lang.String, java.text.ParsePosition) 方法是否返回 BigDecimal
      参数:
      newValue - true 如果解析方法返回 BigDecimal; false否则
      自从:
      1.5
      参见:
    • clone

      public Object  clone()
      标准重写;语义没有变化。
      重写:
      clone 在类 NumberFormat
      返回:
      此实例的克隆。
      参见:
    • equals

      public boolean equals(Object  obj)
      重写等于
      重写:
      equals 在类 NumberFormat
      参数:
      obj - 要比较的参考对象。
      返回:
      true 如果此对象与 obj 参数相同; false否则。
      参见:
    • hashCode

      public int hashCode()
      重写哈希码
      重写:
      hashCode 在类 NumberFormat
      返回:
      此对象的哈希码值。
      参见:
    • toPattern

      public String  toPattern()
      合成表示此 Format 对象当前状态的模式字符串。
      返回:
      模式字符串
      参见:
    • toLocalizedPattern

      public String  toLocalizedPattern()
      合成表示此 Format 对象当前状态的本地化模式字符串。
      返回:
      本地化模式字符串
      参见:
    • applyPattern

      public void applyPattern(String  pattern)
      将给定的模式应用于此格式对象。模式是各种格式化属性的简写规范。这些属性也可以通过各种 setter 方法单独更改。

      此例程设置的整数数字没有限制,因为这是典型的最终用户期望;如果要设置实际值,请使用 setMaximumInteger。对于负数,使用第二种模式,以分号分隔

      示例 "#,#00.0#" → 1,234.56

      这意味着最少 2 个整数位、1 个小数位和最多 2 个小数位。

      示例:"#,#00.0#;(#,#00.0#)" 表示括号中的负数。

      在负模式中,忽略最小和最大计数;假定这些设置为正模式。

      参数:
      pattern - 新模式
      抛出:
      NullPointerException - 如果 pattern 为空
      IllegalArgumentException - 如果给定的模式无效。
    • applyLocalizedPattern

      public void applyLocalizedPattern(String  pattern)
      将给定的模式应用于此格式对象。假定该模式采用本地化符号。模式是各种格式化属性的简写规范。这些属性也可以通过各种 setter 方法单独更改。

      此例程设置的整数数字没有限制,因为这是典型的最终用户期望;如果要设置实际值,请使用 setMaximumInteger。对于负数,使用第二种模式,以分号分隔

      示例 "#,#00.0#" → 1,234.56

      这意味着最少 2 个整数位、1 个小数位和最多 2 个小数位。

      示例:"#,#00.0#;(#,#00.0#)" 表示括号中的负数。

      在负模式中,忽略最小和最大计数;假定这些设置为正模式。

      参数:
      pattern - 新模式
      抛出:
      NullPointerException - 如果 pattern 为空
      IllegalArgumentException - 如果给定的模式无效。
    • setMaximumIntegerDigits

      public void setMaximumIntegerDigits(int newValue)
      设置数字的整数部分中允许的最大位数。对于 BigIntegerBigDecimal 对象以外的格式化数字,使用 newValue 和 309 中较低的一个。负输入值被替换为 0。
      重写:
      setMaximumIntegerDigits 在类 NumberFormat
      参数:
      newValue - 要显示的最大整数位数;如果小于零,则使用零。具体的子类可以对该值强制执行适合被格式化的数字类型的上限。
      参见:
    • setMinimumIntegerDigits

      public void setMinimumIntegerDigits(int newValue)
      设置数字的整数部分中允许的最小位数。对于 BigIntegerBigDecimal 对象以外的格式化数字,使用 newValue 和 309 中较低的一个。负输入值被替换为 0。
      重写:
      setMinimumIntegerDigits 在类 NumberFormat
      参数:
      newValue - 要显示的最小整数位数;如果小于零,则使用零。具体的子类可以对该值强制执行适合被格式化的数字类型的上限。
      参见:
    • setMaximumFractionDigits

      public void setMaximumFractionDigits(int newValue)
      设置数字的小数部分允许的最大位数。对于 BigIntegerBigDecimal 对象以外的格式化数字,使用 newValue 和 340 中较低的一个。负输入值被替换为 0。
      重写:
      setMaximumFractionDigits 在类 NumberFormat
      参数:
      newValue - 要显示的最大小数位数;如果小于零,则使用零。具体的子类可以对该值强制执行适合被格式化的数字类型的上限。
      参见:
    • setMinimumFractionDigits

      public void setMinimumFractionDigits(int newValue)
      设置数字的小数部分允许的最小位数。对于 BigIntegerBigDecimal 对象以外的格式化数字,使用 newValue 和 340 中较低的一个。负输入值被替换为 0。
      重写:
      setMinimumFractionDigits 在类 NumberFormat
      参数:
      newValue - 要显示的最小小数位数;如果小于零,则使用零。具体的子类可以对该值强制执行适合被格式化的数字类型的上限。
      参见:
    • getMaximumIntegerDigits

      public int getMaximumIntegerDigits()
      获取数字的整数部分中允许的最大位数。对于 BigIntegerBigDecimal 对象以外的格式化数字,使用返回值和 309 中的较低者。
      重写:
      getMaximumIntegerDigits 在类 NumberFormat
      返回:
      最大位数
      参见:
    • getMinimumIntegerDigits

      public int getMinimumIntegerDigits()
      获取数字的整数部分中允许的最小位数。对于 BigIntegerBigDecimal 对象以外的格式化数字,使用返回值和 309 中的较低者。
      重写:
      getMinimumIntegerDigits 在类 NumberFormat
      返回:
      最小位数
      参见:
    • getMaximumFractionDigits

      public int getMaximumFractionDigits()
      获取数字的小数部分允许的最大位数。对于 BigIntegerBigDecimal 对象以外的格式化数字,使用返回值和 340 中的较低者。
      重写:
      getMaximumFractionDigits 在类 NumberFormat
      返回:
      最大位数。
      参见:
    • getMinimumFractionDigits

      public int getMinimumFractionDigits()
      获取数字的小数部分允许的最小位数。对于 BigIntegerBigDecimal 对象以外的格式化数字,使用返回值和 340 中的较低者。
      重写:
      getMinimumFractionDigits 在类 NumberFormat
      返回:
      最小位数
      参见:
    • getCurrency

      public Currency  getCurrency()
      获取格式化货币值时此十进制格式使用的货币。通过在此数字格式的符号上调用 DecimalFormatSymbols.getCurrency 获得货币。
      重写:
      getCurrency 在类 NumberFormat
      返回:
      此十进制格式使用的货币,或 null
      自从:
      1.4
    • setCurrency

      public void setCurrency(Currency  currency)
      设置格式化货币值时此数字格式使用的货币。这不会更新数字格式使用的最小或最大小数位数。通过在此数字格式的符号上调用 DecimalFormatSymbols.setCurrency 来设置货币。
      重写:
      setCurrency 在类 NumberFormat
      参数:
      currency - 此十进制格式要使用的新货币
      抛出:
      NullPointerException - 如果 currency 为空
      自从:
      1.4
    • getRoundingMode

      public RoundingMode  getRoundingMode()
      获取在此 DecimalFormat 中使用的 RoundingMode
      重写:
      getRoundingMode 在类 NumberFormat
      返回:
      RoundingMode 用于此 DecimalFormat。
      自从:
      1.6
      参见:
    • setRoundingMode

      public void setRoundingMode(RoundingMode  roundingMode)
      设置在此 DecimalFormat 中使用的 RoundingMode
      重写:
      setRoundingMode 在类 NumberFormat
      参数:
      roundingMode - 要使用的 RoundingMode
      抛出:
      NullPointerException - 如果 roundingMode 为空。
      自从:
      1.6
      参见: