JavaTM 2 Platform
Standard Ed. 6

java.text
類別 DecimalFormat

java.lang.Object
  繼承者 java.text.Format
      繼承者 java.text.NumberFormat
          繼承者 java.text.DecimalFormat
所有已實作的介面:
Serializable, Cloneable

public class DecimalFormat
extends NumberFormat

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 中讀取網要和符號。

網要

DecimalFormat 網要具有下列語法:
網要:
正數網要
正數網要負數網要
正數網要:
前綴opt 數字後綴opt
負數網要:
前綴opt 數字後綴opt
前綴:
除 \uFFFE、\uFFFF 和特殊字元以外的所有 Unicode 字元
後綴:
除 \uFFFE、\uFFFF 和特殊字元以外的所有 Unicode 字元
數字:
整數指數opt
整數小數指數opt
整數:
最小整數
         #
# 整數
# , 整數
最小整數:
         0
0 最小整數
0 , 最小整數
小數:
最小小數opt 可選小數opt
最小小數:
0 最小小數opt
可選小數:
# 可選小數opt
指數:
E 最小指數
最小指數:
0 最小指數opt
 

DecimalFormat 網要包含正數和負數子網要,例如 "#,##0.00;(#,##0.00)"。每個子網要都有前綴、數字部分和後綴。負數子網要是可選的;如果存在,則將用已本地化的減號(在多數語言環境中是 '-')作為前綴的正數子網要用作負數子網要。也就是說,單獨的 "0.00" 等效於 "0.00;-0.00"。如果存在顯式的負數子網要,則它僅指定負數前綴和後綴;數字位數、最小位數,其他特徵都與正數網要相同。這意味著 "#,##0.0#;(#)" 的行為與 "#,##0.0#;(#,##0.0#)" 完全相同。

用於無窮大值、數字、千位分隔符、小數分隔符等的前綴、後綴和各種符號可設置為任意值,並且能在格式化期間正確顯示。但是,必須注意不要讓符號和字元串發生衝突,否則解析是不可靠的。例如,為了讓 DecimalFormat.parse() 能夠區分正數和負數,正數和負數前綴或後綴必須是不同的。(如果它們相同,則 DecimalFormat 的行為就如同未指定負數子網要一樣。)另一個範例是小數分隔符和千位分隔符應該是不同的字元,否則將不可能進行解析。

分組分隔符通常用於千位,但是在某些國家/地區中它用於分隔萬位。分組大小是分組字元之間的固定數字位數,例如 100,000,000 是 3,而 1,0000,0000 則是 4。如果使用具有多個分組字元的網要,則最後一個分隔符和整數結尾之間的間隔才是使用的分組大小。所以 "#,##,###,####" == "######,####" == "##,####,####"

特殊網要字元

網要中的很多字元都是按字面解釋的;在解析期間對其進行比對,在格式化期間則不經改變地輸出。另一方面,特殊字元代表了其他字元、字元串或字元類別。如果要將其作為字面量出現在前綴或後綴中,那麼除非另行說明,否則必須對其加引號。

下列字元用在非本地化的網要中。已本地化的網要使用從此格式器的 DecimalFormatSymbols 物件中獲得的相應字元,這些字元已失去其特殊狀態。兩種例外是貨幣符號和引號,不將其本地化。

符號 位置 本地化? 含義
0 數字 阿拉伯數字
# 數字字 阿拉伯數字,如果不存在則顯示為 0
. 數字 小數分隔符或貨幣小數分隔符
- 數字 減號
, 數字 分組分隔符
E 數字 分隔科學計數法中的尾數和指數。在前綴或後綴中無需加引號。
; 子網要邊界 分隔正數和負數子網要
% 前綴或後綴 乘以 100 並顯示為百分數
\u2030 前綴或後綴 乘以 1000 並顯示為千分數
¤ (\u00A4) 前綴或後綴 貨幣記號,由貨幣符號替換。如果兩個同時出現,則用國際貨幣符號替換。如果出現在某個網要中,則使用貨幣小數分隔符,而不使用小數分隔符。
' 前綴或後綴 用於在前綴或或後綴中為特殊字元加引號,例如 "'#'#" 將 123 格式化為 "#123"。要創建單引號本身,請連續使用兩個單引號:"# o''clock"

科學計數法

科學計數法中的數表示為一個尾數和一個 10 的幾次方的乘積,例如可將 1234 表示為 1.234 x 10^3。尾數的範圍通常是 1.0 <= x < 10.0,但並非必需如此。可指示 DecimalFormat 僅通過某個網要 來格式化和解析科學計數法表示的數;目前沒有創建科學計數法格式的處理器方法。在這個網要中,指數字元後面緊跟著一個或多個數字字元即指示科學計數法。範例:"0.###E0" 將數字 1234 格式化為 "1.234E3"

捨入

DecimalFormat 提供 RoundingMode 中定義的捨入網要進行格式化。預設情況下,它使用 RoundingMode.HALF_EVEN

阿拉伯數字

為了進行格式化,DecimalFormat 使用 DecimalFormatSymbols 物件中所定義的、從已本地化的阿拉伯數字 0 開始的 10 個連續字元作為阿拉伯數字。為了進行解析,可識別 Character.digit 所定義的這些阿拉伯數字和所有 Unicode 十進制阿拉伯數字。

特殊值

NaN 被格式化為一個字元串,通常具有單個字元 \uFFFD。此字元串由 DecimalFormatSymbols 物件所確定。這是唯一不使用前綴和後綴的值。

無窮大的值被格式化為一個字元串,通常具有單個字元 \u221E,具有正數或負數前綴和後綴。無窮大值的字元串由 DecimalFormatSymbols 物件所確定。

將負零("-0")解析為

同步

DecimalFormat 通常不是同步的。建議為每個執行緒創建獨立的格式實例。如果多個執行緒同時存取某個格式,則必須保持外部同步。

範例

 // 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) {}
     }
 }
 

另請參見:
Java Tutorial, NumberFormat, DecimalFormatSymbols, ParsePosition, 序列化表格

巢狀類別摘要
 
從類別 java.text.NumberFormat 繼承的巢狀類別/介面
NumberFormat.Field
 
欄位摘要
 
從類別 java.text.NumberFormat 繼承的欄位
FRACTION_FIELD, INTEGER_FIELD
 
建構子摘要
DecimalFormat()
          使用預設網要和預設語言環境的符號創建一個 DecimalFormat。
DecimalFormat(String pattern)
          使用給定的網要和預設語言環境的符號創建一個 DecimalFormat。
DecimalFormat(String pattern, DecimalFormatSymbols symbols)
          使用給定的網要和符號創建一個 DecimalFormat。
 
方法摘要
 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 物件當前狀態的網要字元串。
 
從類別 java.text.NumberFormat 繼承的方法
format, format, getAvailableLocales, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setGroupingUsed, setParseIntegerOnly
 
從類別 java.text.Format 繼承的方法
format, parseObject
 
從類別 java.lang.Object 繼承的方法
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

DecimalFormat

public DecimalFormat()
使用預設網要和預設語言環境的符號創建一個 DecimalFormat。當國際化不是主要的考慮方面時,這是獲取 DecimalFormat 的便捷方式。

要為給定的語言環境獲取標準的格式,請對 NumberFormat 使用處理器方法,如 getNumberInstance。這些處理器方法將為給定的語言環境返回最適合的 NumberFormat 子類別。

另請參見:
NumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance()

DecimalFormat

public DecimalFormat(String pattern)
使用給定的網要和預設語言環境的符號創建一個 DecimalFormat。當國際化不是主要的考慮方面時,這是獲取 DecimalFormat 的便捷方式。

要為給定的語言環境獲取標準的格式,請對 NumberFormat 使用處理器方法,如 getNumberInstance。這些處理器方法將為給定的語言環境返回最適合的 NumberFormat 子類別。

參數:
pattern - 一個非本地化的網要字元串。
拋出:
NullPointerException - 如果 pattern 為 null
IllegalArgumentException - 如果給定的 pattern 無效。
另請參見:
NumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance()

DecimalFormat

public DecimalFormat(String pattern,
                     DecimalFormatSymbols symbols)
使用給定的網要和符號創建一個 DecimalFormat。需要完全自定義格式化的行為時使用此建構子。

要為給定的語言環境獲取標準的格式,請對 NumberFormat 使用處理器方法,如 getInstance 或 getCurrencyInstance。如果只需為標準格式進行微小的調整,則可修改 NumberFormat 處理器方法所返回的格式。

參數:
pattern - 一個非本地化的網要字元串。
symbols - 要使用的符號集
拋出:
NullPointerException - 如果任意給定的參數為 null
IllegalArgumentException - 如果給定的 pattern 無效
另請參見:
NumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance(), DecimalFormatSymbols
方法詳細資訊

format

public final StringBuffer format(Object number,
                                 StringBuffer toAppendTo,
                                 FieldPosition pos)
格式化一個數,並將所得文本追加到給定的字元串緩衝區。該數可以是 Number 的任意子類別。

此實作使用所允許的最大精度。

覆寫:
類別 NumberFormat 中的 format
參數:
number - 要格式化的數
toAppendTo - 將格式化的文本所要追加到的 StringBuffer
pos - 在輸入上:如果需要,是一個對齊欄位。在輸出上:對齊欄位的偏移量。
返回:
toAppendTo 形式傳入的值
拋出:
IllegalArgumentException - 如果 number 為 null 或不是 Number 的一個實例。
NullPointerException - 如果 toAppendTopos 為 null
ArithmeticException - 如果需要使用設置為 RoundingMode.UNNECESSARY 的捨入網要進行捨入
另請參見:
FieldPosition

format

public StringBuffer format(double number,
                           StringBuffer result,
                           FieldPosition fieldPosition)
格式化一個 double 值,以產生一個字元串。

指定者:
類別 NumberFormat 中的 format
參數:
number - 要格式化的 double 值
result - 將文本追加到的地方
fieldPosition - 在輸入上:如果需要,是一個對齊欄位。在輸出上:對齊欄位的偏移量。
返回:
已格式化的數字字元串
拋出:
ArithmeticException - 如果需要使用設置為 RoundingMode.UNNECESSARY 的捨入網要進行捨入
另請參見:
FieldPosition

format

public StringBuffer format(long number,
                           StringBuffer result,
                           FieldPosition fieldPosition)
格式化一個 long 值,以產生一個字元串。

指定者:
類別 NumberFormat 中的 format
參數:
number - 要格式化的 long 值
result - 將文本追加到的地方
fieldPosition - 在輸入上:如果需要,是一個對齊欄位。在輸出上:對齊欄位的偏移量。
返回:
已格式化的數字字元串
拋出:
ArithmeticException - 如果需要使用設置為 RoundingMode.UNNECESSARY 的捨入網要進行捨入
另請參見:
FieldPosition

formatToCharacterIterator

public AttributedCharacterIterator formatToCharacterIterator(Object obj)
格式化一個 Object,以產生一個 AttributedCharacterIterator。可以使用返回的 AttributedCharacterIterator 來產生所得 String,並確定有關所得 String 的資訊。

AttributedCharacterIterator 的每個屬性鍵都是 NumberFormat.Field 型別的,屬性值與屬性鍵相同。

覆寫:
類別 Format 中的 formatToCharacterIterator
參數:
obj - 要格式化的物件
返回:
描述格式化值的 AttributedCharacterIterator。
拋出:
NullPointerException - 如果 obj 為 null。
IllegalArgumentException - Format 無法格式化給定的物件時。
ArithmeticException - 如果需要使用設置為 RoundingMode.UNNECESSARY 的捨入網要進行捨入
從以下版本開始:
1.4

parse

public Number parse(String text,
                    ParsePosition pos)
解析字元串中的文本,以產生一個 Number

該方法試圖解析從 pos 所給定的索引處開始的文本。如果解析成功,則將 pos 的索引更新為所用最後一個字元後面的索引(不一定解析直到字元串末尾的所有字元),並返回解析後的數。可以使用更新後的 pos 指示下一次調用此方法的開始點。如果發生錯誤,則不更改 pos 的索引,並將 pos 的錯誤索引設置為發生錯誤處的字元索引,並且返回 null。

返回的子類別取決於 isParseBigDecimal() 的值以及所解析的字元串。

DecimalFormat 解析所有由 Character.digit() 所定義的、表示小數數字的 Unicode 字元。另外,DecimalFormat 也將 DecimalFormatSymbols 物件中所定義的、從已本地化的阿拉伯數字 0 開始的 10 個連續字元識別為阿拉伯數字。

指定者:
類別 NumberFormat 中的 parse
參數:
text - 要解析的字元串
pos - 具有索引和上述錯誤索引資訊的 ParsePosition 物件。
返回:
解析得到的值,如果解析失敗,則為 null
拋出:
NullPointerException - 如果 textpos 為 null。
另請參見:
NumberFormat.isParseIntegerOnly(), Format.parseObject(java.lang.String, java.text.ParsePosition)

getDecimalFormatSymbols

public DecimalFormatSymbols getDecimalFormatSymbols()
返回小數格式符號的一個副本,通常開發人員或使用者不改變此副本。

返回:
所需的 DecimalFormatSymbols 的一個副本
另請參見:
DecimalFormatSymbols

setDecimalFormatSymbols

public void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)
設置小數格式符號,通常開發人員或使用者不改變此符號。

參數:
newSymbols - 所需的 DecimalFormatSymbols
另請參見:
DecimalFormatSymbols

getPositivePrefix

public String getPositivePrefix()
獲取正數前綴。

範例:+123、$123、sFr123


setPositivePrefix

public void setPositivePrefix(String newValue)
設置正數前綴。

範例:+123、$123、sFr123


getNegativePrefix

public String getNegativePrefix()
獲取負數前綴。

範例:-123、($123)(帶有負數後綴)、sFr-123


setNegativePrefix

public void setNegativePrefix(String newValue)
設置負數前綴。

範例:-123、($123)(帶有負數後綴)、sFr-123


getPositiveSuffix

public String getPositiveSuffix()
獲取正數後綴。

範例: 123%


setPositiveSuffix

public void setPositiveSuffix(String newValue)
設置正數後綴。

範例:123%


getNegativeSuffix

public String getNegativeSuffix()
獲取負數後綴。

範例:-123%、($123)(帶有正數後綴)


setNegativeSuffix

public void setNegativeSuffix(String newValue)
設置負數後綴。

範例: 123%


getMultiplier

public int getMultiplier()
獲取百分數、千分數和類似格式中使用的乘數。

另請參見:
setMultiplier(int)

setMultiplier

public void setMultiplier(int newValue)
設置百分數、千分數和類似格式中使用的乘數。對於百分數格式,將該乘數設置為 100 並將後綴設置為 '%'(對於阿拉伯語,請使用阿拉伯語的百分數符號)。對於千分數格式,將該乘數設置為 1000 並將後綴設置為 '\u2030'。

範例:使用乘數 100 時,1.23 被格式化為 "123","123" 則被解析為 1.23。

另請參見:
getMultiplier()

getGroupingSize

public int getGroupingSize()
返回分組大小。分組大小是數的整數部分中分組分隔符之間的數字位數。例如在數 "123,456.78" 中,分組大小是 3。

另請參見:
setGroupingSize(int), NumberFormat.isGroupingUsed(), DecimalFormatSymbols.getGroupingSeparator()

setGroupingSize

public void setGroupingSize(int newValue)
設置分組大小。分組大小是數的整數部分中分組分隔符之間的數字位數。例如在數 "123,456.78" 中,分組大小是 3。
傳入的值被轉換為 一個位元組,這可能導致資訊丟失。

另請參見:
getGroupingSize(), NumberFormat.setGroupingUsed(boolean), DecimalFormatSymbols.setGroupingSeparator(char)

isDecimalSeparatorAlwaysShown

public boolean isDecimalSeparatorAlwaysShown()
允許獲取整數中小數分隔符的行為。(有小數時始終顯示小數分隔符。)

範例:小數 ON: 12345 -> 12345.; OFF: 12345 -> 12345


setDecimalSeparatorAlwaysShown

public void setDecimalSeparatorAlwaysShown(boolean newValue)
允許設置整數中小數分隔符的行為。(有小數時始終顯示小數分隔符。)

範例:小數 ON: 12345 -> 12345.; OFF: 12345 -> 12345


isParseBigDecimal

public boolean isParseBigDecimal()
返回 parse(java.lang.String, java.text.ParsePosition) 方法是否返回 BigDecimal。預設值為 false。

從以下版本開始:
1.5
另請參見:
setParseBigDecimal(boolean)

setParseBigDecimal

public void setParseBigDecimal(boolean newValue)
設置 parse(java.lang.String, java.text.ParsePosition) 方法是否返回 BigDecimal

從以下版本開始:
1.5
另請參見:
isParseBigDecimal()

clone

public Object clone()
標準覆寫;沒有語義上的變化。

覆寫:
類別 NumberFormat 中的 clone
返回:
此實例的一個副本。
另請參見:
Cloneable

equals

public boolean equals(Object obj)
覆寫 equals

覆寫:
類別 NumberFormat 中的 equals
參數:
obj - 要與之比較的參考物件。
返回:
如果此物件與 obj 參數相同,則返回 true;否則返回 false
另請參見:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
覆寫 hashCode

覆寫:
類別 NumberFormat 中的 hashCode
返回:
此物件的一個雜湊碼值。
另請參見:
Object.equals(java.lang.Object), Hashtable

toPattern

public String toPattern()
合成一個表示此 Format 物件當前狀態的網要字元串。

另請參見:
applyPattern(java.lang.String)

toLocalizedPattern

public String toLocalizedPattern()
合成一個表示此 Format 物件當前狀態的、已本地化的網要字元串。

另請參見:
applyPattern(java.lang.String)

applyPattern

public void applyPattern(String pattern)
將給定的網要應用於此 Format 物件。網要是各種格式化屬性的簡寫規範。也可以通過各種設置方法來單獨改變這些屬性。

對此例程所設置的整數位數沒有限制,因為這通常是終端使用者的需要;如果想設置某個實際值,請使用 setMaximumInteger。對於負數,可使用由分號分隔的第二個網要。

範例 "#,#00.0#" -> 1,234.56

這意味著最少 2 個整數位數、1 個小數位數,以及最多 2 個小數位數。

範例:"#,#00.0#;(#,#00.0#)",括號中的內容用於負數。

在負數網要中,忽略最小和最大計數;在正數網要中假定要設置這些計數。

拋出:
NullPointerException - 如果 pattern 為 null
IllegalArgumentException - 如果給定的 pattern 無效。

applyLocalizedPattern

public void applyLocalizedPattern(String pattern)
將給定的網要應用於此 Format 物件。假定該 pattern 以本地化表示法來表示。網要是各種格式化屬性的簡寫規範。也可以通過各種設置方法來單獨改變這些屬性。

對此例程所設置的整數位數沒有限制,因為這通常是終端使用者的需要;如果想設置某個實際值,請使用 setMaximumInteger。對於負數,可使用由分號分隔的第二個網要

範例 "#,#00.0#" -> 1,234.56

這意味著最少 2 個整數位數、1 個小數位數,以及最多 2 個小數位數。

範例:"#,#00.0#;(#,#00.0#)",括號中的內容用於負數。

在負數網要中,忽略最小和最大計數;在正數網要中假定要設置這些計數。

拋出:
NullPointerException - 如果 pattern 為 null
IllegalArgumentException - 如果給定的 pattern 無效。

setMaximumIntegerDigits

public void setMaximumIntegerDigits(int newValue)
設置某個數字的整數部分中所允許的最大數字位數。如需格式化除 BigIntegerBigDecimal 物件之外的數字,則使用 newValue 的低位部分和 309。用 0 替換負數輸入值。

覆寫:
類別 NumberFormat 中的 setMaximumIntegerDigits
參數:
newValue - 要顯示的最大整數位數;如果小於 0,則使用 0。具體子類別可以為此值強加一個上限,以適合於被格式化的數值型別。
另請參見:
NumberFormat.setMaximumIntegerDigits(int)

setMinimumIntegerDigits

public void setMinimumIntegerDigits(int newValue)
設置某個數字的整數部分中所允許的最小數字位數。如需格式化除 BigIntegerBigDecimal 物件之外的數字,則使用 newValue 的低位部分和 309。用 0 替換負數輸入值。

覆寫:
類別 NumberFormat 中的 setMinimumIntegerDigits
參數:
newValue - 要顯示的整數的最小位數;如果小於 0,則使用 0。具體子類別可以為此值強加一個上限,以適合於被格式化的數值型別。
另請參見:
NumberFormat.setMinimumIntegerDigits(int)

setMaximumFractionDigits

public void setMaximumFractionDigits(int newValue)
設置某個數的小數部分中所允許的最大數字位數。如需格式化除 BigIntegerBigDecimal 物件之外的數字,則使用 newValue 的低位部分和 340。用 0 替換負數輸入值。

覆寫:
類別 NumberFormat 中的 setMaximumFractionDigits
參數:
newValue - 要顯示的小數的最大位數;如果小於 0,則使用 0。具體子類別可以為此值強加一個上限,以適合於被格式化的數值型別。
另請參見:
NumberFormat.setMaximumFractionDigits(int)

setMinimumFractionDigits

public void setMinimumFractionDigits(int newValue)
設置某個數的小數部分中所允許的最小數字位數。如需格式化除 BigIntegerBigDecimal 物件之外的數字,則使用 newValue 的低位部分和 340。用 0 替換負數輸入值。

覆寫:
類別 NumberFormat 中的 setMinimumFractionDigits
參數:
newValue - 要顯示的小數的最小位數;如果小於 0,則使用 0。具體子類別可以為此值強加一個上限,以適合於被格式化的數值型別。
另請參見:
NumberFormat.setMinimumFractionDigits(int)

getMaximumIntegerDigits

public int getMaximumIntegerDigits()
獲取某個數的整數部分中所允許的最大數字位數。如需格式化除 BigIntegerBigDecimal 物件之外的數字,則使用返回值的低位部分和 309。

覆寫:
類別 NumberFormat 中的 getMaximumIntegerDigits
另請參見:
setMaximumIntegerDigits(int)

getMinimumIntegerDigits

public int getMinimumIntegerDigits()
獲取某個數的整數部分中所允許的最小數字位數。如需格式化除 BigIntegerBigDecimal 物件之外的數字,則使用返回值的低位部分和 309。

覆寫:
類別 NumberFormat 中的 getMinimumIntegerDigits
另請參見:
setMinimumIntegerDigits(int)

getMaximumFractionDigits

public int getMaximumFractionDigits()
獲取某個數的小數部分中所允許的最大數字位數。如需格式化除 BigIntegerBigDecimal 物件之外的數,則使用返回值的低位部分和 340。

覆寫:
類別 NumberFormat 中的 getMaximumFractionDigits
另請參見:
setMaximumFractionDigits(int)

getMinimumFractionDigits

public int getMinimumFractionDigits()
獲取某個數的小數部分中所允許的最小數字位數。如需格式化除 BigIntegerBigDecimal 物件之外的數,則使用返回值的低位部分和 340。

覆寫:
類別 NumberFormat 中的 getMinimumFractionDigits
另請參見:
setMinimumFractionDigits(int)

getCurrency

public Currency getCurrency()
獲取格式化貨幣值時,此十進制格式使用的貨幣。通過在此數字格式的符號上調用 DecimalFormatSymbols.getCurrency 來獲取該貨幣。

覆寫:
類別 NumberFormat 中的 getCurrency
返回:
此十進制格式使用的貨幣,或者為 null
從以下版本開始:
1.4

setCurrency

public void setCurrency(Currency currency)
設置格式化貨幣值時,此數字格式使用的貨幣。這不會更新該數字格式使用的最小和最大小數位數。通過在此數字格式的符號上調用 DecimalFormatSymbols.setCurrency 來設置該貨幣。

覆寫:
類別 NumberFormat 中的 setCurrency
參數:
currency - 此十進制格式要使用的新貨幣
拋出:
NullPointerException - 如果 currency 為 null
從以下版本開始:
1.4

getRoundingMode

public RoundingMode getRoundingMode()
獲取在此 DecimalFormat 中使用的 RoundingMode

覆寫:
類別 NumberFormat 中的 getRoundingMode
返回:
用於此 DecimalFormat 的 RoundingMode
從以下版本開始:
1.6
另請參見:
setRoundingMode(RoundingMode)

setRoundingMode

public void setRoundingMode(RoundingMode roundingMode)
設置在此 DecimalFormat 中使用的 RoundingMode

覆寫:
類別 NumberFormat 中的 setRoundingMode
參數:
roundingMode - 要使用的 RoundingMode
拋出:
NullPointerException - 如果 roundingMode 為 null。
從以下版本開始:
1.6
另請參見:
getRoundingMode()

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only