【java】DecimalFormat 类

DecimalFormatNumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够解析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化。

要获取具体语言环境的 NumberFormat(包括默认语言环境),可调用 NumberFormat 的某个工厂方法,如 getInstance()。通常不直接调用 DecimalFormat 的构造方法,因为 NumberFormat 的工厂方法可能返回不同于 DecimalFormat 的子类。如果需要自定义格式对象,可执行:

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

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

方法摘要
 void applyLocalizedPattern(String pattern)
          将给定的模式应用于此 Format 对象。
 void applyPattern(String pattern)
          将给定的模式应用于此 Format 对象。
 Object clone()
          标准重写;没有语义上的变化。
 boolean equals(Object obj)
          重写 equals
 StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
          格式化一个 double 值,以生成一个字符串。
 StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)
          格式化一个 long 值,以生成一个字符串。
 StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)
          格式化一个数,并将所得文本追加到给定的字符串缓冲区。
 AttributedCharacterIterator formatToCharacterIterator(Object obj)
          格式化一个 Object,以生成一个 AttributedCharacterIterator
 Currency getCurrency()
          获取格式化货币值时,此十进制格式使用的货币。
 DecimalFormatSymbols getDecimalFormatSymbols()
          返回小数格式符号的一个副本,通常程序员或用户不改变此副本。
 int getGroupingSize()
          返回分组大小。
 int getMaximumFractionDigits()
          获取某个数的小数部分中所允许的最大数字位数。
 int getMaximumIntegerDigits()
          获取某个数的整数部分中所允许的最大数字位数。
 int getMinimumFractionDigits()
          获取某个数的小数部分中所允许的最小数字位数。
 int getMinimumIntegerDigits()
          获取某个数的整数部分中所允许的最小数字位数。
 int getMultiplier()
          获取百分数、千分数和类似格式中使用的乘数。
 String getNegativePrefix()
          获取负数前缀。
 String getNegativeSuffix()
          获取负数后缀。
 String getPositivePrefix()
          获取正数前缀。
 String getPositiveSuffix()
          获取正数后缀。
 RoundingMode getRoundingMode()
          获取在此 DecimalFormat 中使用的 RoundingMode
 int hashCode()
          重写 hashCode
 boolean isDecimalSeparatorAlwaysShown()
          允许获取整数中小数分隔符的行为。
 boolean isParseBigDecimal()
          返回 parse(java.lang.String, java.text.ParsePosition) 方法是否返回 BigDecimal
 Number parse(String text, ParsePosition pos)
          解析字符串中的文本,以生成一个 Number
 void setCurrency(Currency currency)
          设置格式化货币值时,此数字格式使用的货币。
 void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)
          设置小数格式符号,通常程序员或用户不改变此符号。
 void setDecimalSeparatorAlwaysShown(boolean newValue)
          允许设置整数中小数分隔符的行为。
 void setGroupingSize(int newValue)
          设置分组大小。
 void setMaximumFractionDigits(int newValue)
          设置某个数的小数部分中所允许的最大数字位数。
 void setMaximumIntegerDigits(int newValue)
          设置某个数字的整数部分中所允许的最大数字位数。
 void setMinimumFractionDigits(int newValue)
          设置某个数的小数部分中所允许的最小数字位数。
 void setMinimumIntegerDigits(int newValue)
          设置某个数字的整数部分中所允许的最小数字位数。
 void setMultiplier(int newValue)
          设置百分数、千分数和类似格式中使用的乘数。
 void setNegativePrefix(String newValue)
          设置负数前缀。
 void setNegativeSuffix(String newValue)
          设置负数后缀。
 void setParseBigDecimal(boolean newValue)
          设置 parse(java.lang.String, java.text.ParsePosition) 方法是否返回 BigDecimal
 void setPositivePrefix(String newValue)
          设置正数前缀。
 void setPositiveSuffix(String newValue)
          设置正数后缀。
 void setRoundingMode(RoundingMode roundingMode)
          设置在此 DecimalFormat 中使用的 RoundingMode
 String toLocalizedPattern()
          合成一个表示此 Format 对象当前状态的、已本地化的模式字符串。
 String toPattern()
          合成一个表示此 Format 对象当前状态的模式字符串。

类似文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注