public class DecimalFormat extends NumberFormat
DecimalFormatã¯NumberFormatã®å
·è±¡ãµãã¯ã©ã¹ã§ããã10鲿°ã®æžåŒãèšå®ããŸãã ããã«ã¯ã西欧ãã¢ã©ãã¢ãããã³ã€ã³ãæ°åã«å¯ŸãããµããŒããå«ãããŸããŸãªæ©èœãçšæãããŠãããä»»æã®ãã±ãŒã«ã§æ°å€ã®è§£æãšãã©ãŒããããå®è¡ã§ããããèšèšãããŠããŸãã ãŸããæŽæ°(123)ãåºå®å°æ°å€(123.4)ãç§åŠè¡šèšæ³(1.23E4)ãããŒã»ã³ã(12%)ãããã³é貚éé¡($123)ãªã©ã®ããŸããŸãªçš®é¡ã®æ°å€ããµããŒãããŠããŸãã ãããã¯ãã¹ãŠããŒã«ã©ã€ãºãã§ããŸãã
ããã©ã«ãã®ãã±ãŒã«ãªã©ã®ç¹å®ã®ãã±ãŒã«ã®NumberFormatãååŸããããã«ã¯ãgetInstance()ãªã©ã®NumberFormatã®ãã¡ã¯ããªã»ã¡ãœããã®1ã€ãåŒã³åºããŸãã éåžžãNumberFormatãã¡ã¯ããªã»ã¡ãœããã¯DecimalFormat以å€ã®ãµãã¯ã©ã¹ãè¿ãå ŽåããããããDecimalFormatã³ã³ã¹ãã©ã¯ã¿ãçŽæ¥åŒã³åºããŸããã ãã©ãŒãããã»ãªããžã§ã¯ããã«ã¹ã¿ãã€ãºããå¿
èŠãããå Žåã¯ã次ã®ããã«å®è¡ããŸãã
NumberFormat f = NumberFormat.getInstance(loc);
if (f instanceof DecimalFormat) {
((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
}
DecimalFormatã¯ãã¿ãŒã³ããã³èšå·ã®ã»ããã§æ§æãããŸãã ãã¿ãŒã³ã®èšå®ã¯applyPattern()ã䜿çšããŠçŽæ¥è¡ããããŸãã¯APIã¡ãœããã䜿çšããŠéæ¥çã«è¡ããŸãã èšå·ã¯DecimalFormatSymbolsãªããžã§ã¯ãã«æ ŒçŽãããŸãã NumberFormatãã¡ã¯ããªã»ã¡ãœããã䜿çšããŠããå Žåããã¿ãŒã³ãšèšå·ã¯ããŒã«ã©ã€ãºãããResourceBundleããèªã¿èŸŒãŸããŸãã
DecimalFormatã®æ§æã次ã«ç€ºããŸãã
Pattern:
PositivePattern
PositivePattern ; NegativePattern
PositivePattern:
Prefixopt Number Suffixopt
NegativePattern:
Prefixopt Number Suffixopt
Prefix:
any Unicode characters except \uFFFE, \uFFFF, and special characters
Suffix:
any Unicode characters except \uFFFE, \uFFFF, 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)"ãªã©ã®ãæ£ãšè² ã®ãµããã¿ãŒã³ããããŸãã åãµããã¿ãŒã³ã«ã¯æ¥é èŸãæ°å€éšåãããã³æ¥å°ŸèŸã1ã€ãã€ãããŸãã è² ã®ãµããã¿ãŒã³ã¯ãªãã·ã§ã³ã§ãããã®ãªãã·ã§ã³ãèšå®ããªãå Žåã¯ãããŒã«ã©ã€ãºããããã€ãã¹èšå·(ã»ãšãã©ã®ãã±ãŒã«ã§ã¯'-')ãæ£ã®ãµããã¿ãŒã³ã«æ¥é èŸãšããŠä»ããããšã§ãè² ã®ãµããã¿ãŒã³ãšããŠäœ¿çšããŸãã ã€ãŸããåç¬ã®"0.00"ã¯"0.00;-0.00"ãšç䟡ã«ãªããŸãã æç€ºçãªè² ã®ãµããã¿ãŒã³ããããšãããã¯è² ã®æ¥é èŸãšæ¥å°ŸèŸãæå®ããå Žåã«ã ãæ©èœããŸããæ¡æ°ãæå°æ¡æ°ãããã³ãã®ä»ã®ç¹æ§ã¯ãã¹ãŠæ£ã®ãã¿ãŒã³ãšåãã§ãã ããã¯"#,##0.0#;(#)"ã¯"#,##0.0#;(#,##0.0#)"ãšæ£ç¢ºã«åãçµæã«ãªãããšãæå³ããŸãã
æ¥é èŸãæ¥å°ŸèŸãããã³ç¡éå€§ãæ¡ã1000ã®åºåããããã³å°æ°ã®åºåãæåãªã©ã«äœ¿çšããããŸããŸãªèšå·ã¯ãä»»æã®å€ã«èšå®ã§ãããã©ãŒãããäžã«æ£ãã衚瀺ãããŸãã ãã ããèšå·ãšæååãççŸããªãããã«æ³šæãããªããšãè§£æã¯ä¿¡é Œæ§ãæã¡ãŸããã ããšãã°ãDecimalFormat.parse()ã§æ£ã®å€ãšè² ã®å€ãåºå¥ã§ããããã«ãæ£ãšè² ã®æ¥é èŸãæ¥å°ŸèŸã¯ç°ãªãå¿
èŠããããŸãã åäžã§ãããšãDecimalFormatã¯è² ã®ãµããã¿ãŒã³ãæå®ãããŠããªããã®ãšããŠåäœããŸãã å¥ã®äŸãšããŠãæ°å€æ¡åºåãåãš1000ã®åºåãåã«ã¯ç°ãªãæåã䜿çšããå¿
èŠããããŸããåäžã®æåã䜿çšãããšè§£æãäžå¯èœã«ãªããŸãã
ã°ã«ãŒãåºåãåã¯äžè¬ã«1000ããšã«åºåãããã«äœ¿çšããŸãããåœã«ãã£ãŠã¯10000ããšã«äœ¿çšãããšããããããŸãã ã°ã«ãŒãåºåãã®ãµã€ãºãšã¯ã100,000,000ã®å Žåã¯3ã1,0000,0000ã®å Žåã¯4ãšããããã«ãã°ã«ãŒãåºåãæåéã®äžå®ã®æ¡æ°ã§ãã è€æ°ã®ã°ã«ãŒãåºåãæåãæã€ãã¿ãŒã³ãæå®ãããšãæåŸã®åºåãæåãšæ«å°Ÿã®æŽæ°ãšã®éãããã®ééãšããŠäœ¿çšãããŸãã ãããã£ãŠã"#,##,###,####" == "######,####" == "##,####,####"ãšãªããŸãã
ãã¿ãŒã³å ã®å€ãã®æåã¯æåã©ããã«ååŸãããŸãããã®ãããªæåã¯è§£æäžã«äžèŽãããšããã©ãŒãããäžã«ãã®ãŸãŸåºåãããŸãã äžæ¹ãç¹æ®æåã¯ã»ãã®æåãæååããŸãã¯æåã®ã¯ã©ã¹ã衚ããŸãã ç¹æ®æåã¯ãæ¥é èŸãæ¥å°ŸèŸã«ãªãã©ã«ãšããŠè¡šç€ºããå Žåã¯ãç¹ã«æç€ºããªãããããåŒçšç¬Šã§å²ãå¿ èŠããããŸãã
次ã«ãªã¹ãããæåã¯ãããŒã«ã©ã€ãºãããŠããªããã¿ãŒã³ã§äœ¿çšãããŸãã ããŒã«ã©ã€ãºãããŠããªããã¿ãŒã³ã§ã¯ã代ããã«ãã®ãã©ãŒããã¿ã®DecimalFormatSymbolsãªããžã§ã¯ãããååŸãã察å¿ããæåã䜿çšãããšããããã®æåã¯ç¹æ®ãªç¶æ
ã§ã¯ãªããªããŸãã 2ã€ã®äŸå€ã¯ããŒã«ã©ã€ãºãããŠããªãé貚èšå·ãšåŒçšç¬Šã§ãã
èšå· äœçœ® ããŒã«ã©ã€ãºã®æç¡ æå³ 0Number ãã æ°å #Number ãã æ°åããŒãã ãšè¡šç€ºãããªã .Number ãã æ°å€æ¡åºåãåãŸãã¯é貚æ¡åºåãå -Number ãã ãã€ãã¹èšå· ,Number ãã ã°ã«ãŒãåºåãå ENumber ãã ç§åŠè¡šèšæ³ã®ä»®æ°ãšææ°ãåºåãã æ¥é èŸãæ¥å°ŸèŸå ã«åŒçšç¬Šãä»ããå¿ èŠã¯ãªãã ;ãµããã¿ãŒã³å¢ç ãã æ£ãšè² ã®ãµããã¿ãŒã³ãåºåã %æ¥é èŸãŸãã¯æ¥å°ŸèŸ ãã 100åããŠããŒã»ã³ãã衚ã \u2030æ¥é èŸãŸãã¯æ¥å°ŸèŸ ãã 1000åããŠããŒãã«å€ã衚ã €(\u00A4)æ¥é èŸãŸãã¯æ¥å°ŸèŸ ãªã é貚èšå·ã§çœ®æãããé貚笊å·ã 2ã€ã®å Žåã¯ãåœéé貚èšå·ã§çœ®æãããã ãã¿ãŒã³å ã«ããå Žåã¯ãæ°å€æ¡åºåãåã§ã¯ãªããé貚æ¡åºåãåã䜿çšãããã 'æ¥é èŸãŸãã¯æ¥å°ŸèŸ ãªã æ¥é èŸãæ¥å°ŸèŸå ã®ç¹æ®æåãåŒçšç¬Šã§å²ãå Žåã«äœ¿çšããããããšãã°ã "'#'#"ã䜿çšãããš123ã¯"#123"ã«ãã©ãŒããããããã åäžåŒçšç¬Šèªäœãäœæããã«ã¯ã1è¡ã«2ã€åŒçšç¬Šã䜿çšãã("#o''clock")ã
ç§åŠè¡šèšæ³ã®æ°å€ã¯ä»®æ°ãš10ã®çޝä¹ã®çµæãšããŠè¡šãããŸããããšãã°ã1234ã¯1.234 x 10^3ãšããŠè¡šãããŸãã ä»®æ°ã®å€ãã¯1.0 †x < 10.0ã®ç¯å²å
ã§ãããå¿
ããããã®ç¯å²å
ã§ããå¿
èŠã¯ãããŸããã DecimalFormatã«ã¯ããã¿ãŒã³ã ããä»ããŠç§åŠè¡šèšæ³ããã©ãŒãããããã³è§£æããããæç€ºã§ããŸããçŸåšãç§åŠè¡šèšæ³åœ¢åŒãäœæãããã¡ã¯ããªã»ã¡ãœããã¯ãããŸããã ãã¿ãŒã³ã§ã¯ãææ°æåã®çŽåŸã«1ã€ä»¥äžã®æ°åãç¶ããŠç§åŠè¡šèšæ³ã瀺ããŸãã äŸ:"0.###E0"ã§ã¯ã1234ã¯"1.234E3"ã®ããã«ãã©ãŒããããããŸãã
"0.###E0 m/s"ãªã©ã®ãã¿ãŒã³ãèš±å¯ãããŸãã
"##0.#####E0"ãªã©ã®ããã«3ã®åæ°ã«ãªããŸãã ãã®ãã¿ãŒã³ã䜿çšãããšãæ°å€12345ã¯"12.345E3"ã«ã123456ã¯"123.456E3"ã«ãã©ãŒããããããŸãã
"00.###E0"ã䜿çšããŠ"12.3E-4"ãšãã©ãŒããããããŸãã
"##0.##E0"ã䜿çšããŠ"12.3E3"ãšãã©ãŒããããããŸãã ãã¹ãŠã®æ¡ã衚瀺ããå Žåã¯ãæå¹æ¡æ°ããŒãã«èšå®ããŠãã ããã æå¹æ¡æ°ã¯è§£æã«åœ±é¿ããŸããã
DecimalFormatã¯ãRoundingModeã§å®çŸ©ãããŠããäžžãã¢ãŒãããã©ãŒãããåŠçã«æäŸããŸãã ããã©ã«ãã§ã¯ãRoundingMode.HALF_EVENã䜿çšãããŸãã
DecimalFormatã¯ããã©ãŒãããã«DecimalFormatSymbolsãªããžã§ã¯ãã§å®çŸ©ãããŠãããããŒã«ã©ã€ãºããããŒãæ°åã§å§ãŸã10åã®é£ç¶ããæåãæ°åãšããŠäœ¿çšããŸãã è§£æã§ã¯ããããã®æ°åãšãšãã«ãCharacter.digitã®å®çŸ©ã«ãããã¹ãŠã®Unicode 10鲿°ãèªèããŸãã
NaNã¯ãéåžžã¯åäžã®æå\uFFFDãæã€æååãšããŠãã©ãŒããããããŸãã ãã®æååã¯DecimalFormatSymbolsãªããžã§ã¯ãã«ãã£ãŠå€å®ãããŸãã ããã¯ãæ¥é èŸãšæ¥å°ŸèŸã䜿çšãããªãå¯äžã®å€ã§ãã
ç¡é倧ã¯ãéåžžã¯åäžã®æå\u221Eãæã€æååãšããŠãã©ãŒããããããè² ãŸãã¯æ£ã®æ¥é èŸããã³æ¥å°ŸèŸãé©çšãããŸãã ç¡é倧æååã¯DecimalFormatSymbolsãªããžã§ã¯ãã«ãã£ãŠå€å®ãããŸãã
è² ã®ãŒã("-0")ã¯ã
isParseBigDecimal()ãtrueã§ããå Žåã¯BigDecimal(0)ãšè§£æããã
isParseBigDecimal()ãfalseãisParseIntegerOnly()ãtrueã§ããå Žåã¯Long(0)ãšè§£æããã
isParseBigDecimal()ãšisParseIntegerOnly()ãã©ã¡ããfalseã§ããå Žåã¯Double(-0.0)ãšè§£æãããŸãã
decimalãã©ãŒãããã¯åæåãããŸããã ã¹ã¬ããããšã«å¥ã®ãã©ãŒãããã»ã€ã³ã¹ã¿ã³ã¹ãäœæããããšããèŠãããŸãã è€æ°ã®ã¹ã¬ããããã©ãŒãããã«äžŠè¡ããŠã¢ã¯ã»ã¹ããå Žåã¯ãå€éšçã«åæåããå¿ èŠããããŸãã
<strong>// Print out a number using the localized number, integer, currency, // and percent format for each locale</strong> 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) {} } }
NumberFormat, DecimalFormatSymbols, ParsePosition, çŽååããã圢åŒNumberFormat.FieldFRACTION_FIELD, INTEGER_FIELD| ã³ã³ã¹ãã©ã¯ã¿ | 説æ |
|---|---|
DecimalFormat() |
ããã©ã«ãã®
FORMATãã±ãŒã«ã«å¯ŸããŠãããã©ã«ãã®ãã¿ãŒã³ãšèšå·ã䜿ã£ãŠDecimalFormatãäœæããŸãã |
DecimalFormat(String pattern) |
ããã©ã«ãã®
FORMATãã±ãŒã«ã«å¯ŸããŠãæå®ããããã¿ãŒã³ãšèšå·ã䜿ã£ãŠ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() |
é貚å€ã®ãã©ãŒãããæã«ããã®10é²ãã©ãŒãããã䜿çšããé貚ãååŸããŸãã
|
DecimalFormatSymbols |
getDecimalFormatSymbols() |
æ°å€æ¡åºåãæåã®ã³ããŒãè¿ããŸããããã¯éåžžãããã°ã©ãããŠãŒã¶ãŒã«ãã£ãŠå€æŽãããŸããã
|
int |
getGroupingSize() |
ã°ã«ãŒãåãµã€ãºãè¿ããŸãã
|
int |
getMaximumFractionDigits() |
æ°å€ã®å°æ°éšåã®æå€§æ¡æ°ãååŸããŸãã
|
int |
getMaximumIntegerDigits() |
æ°å€ã®æŽæ°éšåã®æå€§æ¡æ°ãååŸããŸãã
|
int |
getMinimumFractionDigits() |
æ°å€ã®å°æ°éšåã®æå°æ¡æ°ãååŸããŸãã
|
int |
getMinimumIntegerDigits() |
æ°å€ã®æŽæ°éšåã®æå°æ¡æ°ãååŸããŸãã
|
int |
getMultiplier() |
ããŒã»ã³ããããŒãã«(1000)ãããã³ãã®é¡äŒŒãã©ãŒãããã§äœ¿çšãã乿°ãååŸããŸãã
|
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 |
setGroupingUsed(boolean newValue) |
ãã®ãã©ãŒãããã§ã°ã«ãŒãåã䜿çšãããã©ãããèšå®ããŸãã
|
void |
setMaximumFractionDigits(int newValue) |
æ°å€ã®å°æ°éšåã®æå€§æ¡æ°ãèšå®ããŸãã
|
void |
setMaximumIntegerDigits(int newValue) |
æ°å€ã®æŽæ°éšåã®æå€§æ¡æ°ãèšå®ããŸãã
|
void |
setMinimumFractionDigits(int newValue) |
æ°å€ã®å°æ°éšåã®æå°æ¡æ°ãèšå®ããŸãã
|
void |
setMinimumIntegerDigits(int newValue) |
æ°å€ã®æŽæ°éšåã®æå°æ¡æ°ãèšå®ããŸãã
|
void |
setMultiplier(int newValue) |
ããŒã»ã³ããããŒãã«(1000)ãããã³ãã®é¡äŒŒãã©ãŒãããã§äœ¿çšãã乿°ãèšå®ããŸãã
|
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ãªããžã§ã¯ãã®çŸåšã®ç¶æ
ã衚ããã¿ãŒã³æååãç·åããŸãã
|
format, format, getAvailableLocales, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setParseIntegerOnlyformat, parseObjectpublic DecimalFormat()
FORMATãã±ãŒã«ã«å¯ŸããŠãããã©ã«ãã®ãã¿ãŒã³ãšèšå·ã䜿ã£ãŠDecimalFormatãäœæããŸãã ããã¯ãåœéåãäž»èŠãªåé¡ã§ãªãå Žåã¯ãDecimalFormatãåŸãããã«ã¯ç°¡åãªæ¹æ³ã§ãã
æå®ããããã±ãŒã«ã«å¯Ÿããæšæºãã©ãŒããããåŸãã«ã¯ãgetNumberInstanceãªã©ãNumberFormatã®ãã¡ã¯ããªã»ã¡ãœããã䜿çšããŠãã ããã ãããã®ãã¡ã¯ããªã»ã¡ãœããã¯ãæå®ããããã±ãŒã«ã«å¯ŸããNumberFormatã®æé©ãªãµãã¯ã©ã¹ãè¿ããŸãã
public DecimalFormat(String pattern)
FORMATãã±ãŒã«ã«å¯ŸããŠãæå®ããããã¿ãŒã³ãšèšå·ã䜿ã£ãŠDecimalFormatãäœæããŸãã ããã¯ãåœéåãäž»èŠãªåé¡ã§ãªãå Žåã¯ãDecimalFormatãåŸãããã«ã¯ç°¡åãªæ¹æ³ã§ãã
æå®ããããã±ãŒã«ã«å¯Ÿããæšæºãã©ãŒããããåŸãã«ã¯ãgetNumberInstanceãªã©ãNumberFormatã®ãã¡ã¯ããªã»ã¡ãœããã䜿çšããŠãã ããã ãããã®ãã¡ã¯ããªã»ã¡ãœããã¯ãæå®ããããã±ãŒã«ã«å¯ŸããNumberFormatã®æé©ãªãµãã¯ã©ã¹ãè¿ããŸãã
pattern - ããŒã«ã©ã€ãºãããŠããªããã¿ãŒã³æååãNullPointerException - patternãnullã§ããå ŽåIllegalArgumentException - æå®ããããã¿ãŒã³ãç¡å¹ãªå ŽåãNumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance()public DecimalFormat(String pattern, DecimalFormatSymbols symbols)
æå®ããããã±ãŒã«ã«å¯Ÿããæšæºãã©ãŒããããåŸãã«ã¯ãgetInstanceãgetCurrencyInstanceãªã©ãNumberFormatã®ãã¡ã¯ããªã»ã¡ãœããã䜿çšããŠãã ããã æšæºãã©ãŒãããããããã«èª¿æŽããã ãã§ããã°ãNumberFormatãã¡ã¯ããªã»ã¡ãœããã§è¿ããããã©ãŒããããä¿®æ£ããããšãã§ããŸãã
pattern - ããŒã«ã©ã€ãºãããŠããªããã¿ãŒã³æååsymbols - 䜿çšããèšå·ã»ããNullPointerException - æå®ãããåŒæ°ã1ã€ã§ãnullã®å ŽåIllegalArgumentException - æå®ããããã¿ãŒã³ãç¡å¹ãªå ŽåNumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance(), DecimalFormatSymbolspublic final StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)
Numberã®ä»»æã®ãµãã¯ã©ã¹ã§ãã
ãã®å®è£ ã¯æå€§èš±å®¹ç²ŸåºŠã䜿çšããŸãã
formatãã¯ã©ã¹NumberFormatnumber - ãã©ãŒãããããæ°å€toAppendTo - ãã©ãŒãããåŸã®ããã¹ãã远å ããStringBufferpos - å
¥åã§ã¯ãå¿
èŠã§ããã°äœçœ®åãããã£ãŒã«ãã åºåã§ã¯ããã®äœçœ®åãããã£ãŒã«ãã®ãªãã»ããã toAppendToãšããŠæž¡ãããå€IllegalArgumentException - numberãnullã§ããããNumberã®ã€ã³ã¹ã¿ã³ã¹ã§ãªãå ŽåãNullPointerException - toAppendToãŸãã¯posãnullã®å ŽåArithmeticException - äžžãåŠçãå¿
èŠãªå Žåã«äžžãã¢ãŒããRoundingMode.UNNECESSARYã«èšå®ãããŠãããšãFieldPositionpublic StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
formatãã¯ã©ã¹NumberFormatnumber - ãã©ãŒãããããdoubleresult - ããã¹ãã远å ããäœçœ®fieldPosition - å
¥åã§ã¯ãå¿
èŠã§ããã°äœçœ®åãããã£ãŒã«ãã åºåã§ã¯ããã®äœçœ®åãããã£ãŒã«ãã®ãªãã»ããã ArithmeticException - äžžãåŠçãå¿
èŠãªå Žåã«äžžãã¢ãŒããRoundingMode.UNNECESSARYã«èšå®ãããŠãããšãFieldPositionpublic StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)
formatãã¯ã©ã¹NumberFormatnumber - ãã©ãŒãããããlongresult - ããã¹ãã远å ããäœçœ®fieldPosition - å
¥åã§ã¯ãå¿
èŠã§ããã°äœçœ®åãããã£ãŒã«ãã åºåã§ã¯ããã®äœçœ®åãããã£ãŒã«ãã®ãªãã»ããã ArithmeticException - äžžãåŠçãå¿
èŠãªå Žåã«äžžãã¢ãŒããRoundingMode.UNNECESSARYã«èšå®ãããŠãããšãFieldPositionpublic AttributedCharacterIterator formatToCharacterIterator(Object obj)
AttributedCharacterIteratorãçæããŸãã è¿ãããAttributedCharacterIteratorã䜿çšãããšãçµæã®Stringãæ§ç¯ã§ãããšãšãã«ãçµæã®Stringã«ã€ããŠã®æ
å ±ãå€å®ã§ããŸãã
AttributedCharacterIteratorã®å屿§ããŒã¯NumberFormat.Fieldåã§ãã屿§å€ã¯å±æ§ããŒãšåäžã§ãã
formatToCharacterIteratorãã¯ã©ã¹Formatobj - ãã©ãŒããããããªããžã§ã¯ãNullPointerException - objãnullã®å ŽåãIllegalArgumentException - æå®ããããªããžã§ã¯ããFormatã§ãã©ãŒãããã§ããªãå ŽåãArithmeticException - äžžãåŠçãå¿
èŠãªå Žåã«äžžãã¢ãŒããRoundingMode.UNNECESSARYã«èšå®ãããŠãããšã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ã¯ãDoubleãLongã®ããããè¿ãããããœãŒã¹æååå
ã§ã®å°æ°åºåãæåã®æç¡ã§å€æããããã§ã¯ãããŸããã ããã«ããããå Žåã¯ã"-9,223,372,036,854,775,808.00"ãªã©ã®doubleã®ä»®æ°ããªãŒããŒãããŒããæŽæ°ããæ£ç¢ºã«è§£æã§ããªããªããŸãã
åŒåºãå
ã¯ãNumberã®ã¡ãœããdoubleValueãlongValueãçšããããšã§ãå€ãå¿
èŠãªåãšããŠååŸã§ããŸãã
isParseBigDecimal()ãtrueã®å Žåãå€ã¯BigDecimalãªããžã§ã¯ããšããŠè¿ãããŸãã ãã®å€ã¯ããã±ãŒã«éäŸå圢åŒã®å¯Ÿå¿ããæååã«å¯ŸããŠãBigDecimal.BigDecimal(String)ã«ãã£ãŠæ§ç¯ãããå€ã§ãã ãã ããç¹æ®ãªå€(æ£è² ã®ç¡é倧ãNaNãªã©)ã¯ã察å¿ããDouble宿°å€ãå«ãDoubleã€ã³ã¹ã¿ã³ã¹ãšããŠè¿ãããŸãã
DecimalFormatã¯ãCharacter.digit()ã§å®çŸ©ãããŠãã10鲿°åã衚ããã¹ãŠã®Unicodeæåãè§£æããŸãã ããã«DecimalFormatã¯ãDecimalFormatSymbolsãªããžã§ã¯ãã§å®çŸ©ãããŠããããŒã«ã©ã€ãºããããŒãæ°åã§å§ãŸã10åã®é£ç¶ããæåãæ°åãšããŠèªèããŸãã
parseãã¯ã©ã¹NumberFormattext - è§£æãããæååpos - äžèšã®ã€ã³ããã¯ã¹ããã³ãšã©ãŒã»ã€ã³ããã¯ã¹æ
å ±ãæã€ParsePositionãªããžã§ã¯ãnullNullPointerException - textãŸãã¯posãnullã®å ŽåãNumberFormat.isParseIntegerOnly(), Format.parseObject(java.lang.String, java.text.ParsePosition)public DecimalFormatSymbols getDecimalFormatSymbols()
DecimalFormatSymbolspublic void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)
newSymbols - å¿
èŠãªDecimalFormatSymbolsDecimalFormatSymbolspublic String getPositivePrefix()
äŸ+123ã$123ãsFr123
public void setPositivePrefix(String newValue)
äŸ+123ã$123ãsFr123
newValue - æ°ããæ£ã®æ¥é èŸpublic String getNegativePrefix()
äŸ-123ã($123)(è² ã®æ¥å°ŸèŸä»ã)ãsFr-123
public void setNegativePrefix(String newValue)
äŸ-123ã($123)(è² ã®æ¥å°ŸèŸä»ã)ãsFr-123
newValue - æ°ããè² ã®æ¥é èŸpublic String getPositiveSuffix()
äŸ: 123%
public void setPositiveSuffix(String newValue)
äŸ: 123%
newValue - æ°ããæ£ã®æ¥å°ŸèŸpublic String getNegativeSuffix()
äŸ-123%ã($123)(æ£ã®æ¥å°ŸèŸä»ã)
public void setNegativeSuffix(String newValue)
äŸ123%
newValue - æ°ããè² ã®æ¥å°ŸèŸpublic int getMultiplier()
setMultiplier(int)public void setMultiplier(int newValue)
äŸ: 乿°100ã®å Žåã1.23ã®ãã©ãŒãããçµæã¯"123"ã"123"ã®è§£æçµæã¯1.23ã«ãªãã
newValue - æ°ãã乿°getMultiplier()public void setGroupingUsed(boolean newValue)
setGroupingUsedãã¯ã©ã¹NumberFormatnewValue - ã°ã«ãŒãåã䜿çšããŠããå Žåã¯trueãããã§ãªãå Žåã¯falseNumberFormat.isGroupingUsed()public int getGroupingSize()
setGroupingSize(int), NumberFormat.isGroupingUsed(), DecimalFormatSymbols.getGroupingSeparator()public void setGroupingSize(int newValue)
newValue - æ°ããã°ã«ãŒãåãµã€ãºgetGroupingSize(), NumberFormat.setGroupingUsed(boolean), DecimalFormatSymbols.setGroupingSeparator(char)public boolean isDecimalSeparatorAlwaysShown()
äŸ: Decimal ON: 12345 â 12345.; OFF: 12345 â 12345
trueãããã§ãªãå Žåã¯falsepublic void setDecimalSeparatorAlwaysShown(boolean newValue)
äŸ: Decimal ON: 12345 â 12345.; OFF: 12345 â 12345
newValue - å°æ°ç¹åºåãèšå·ãåžžã«è¡šç€ºãããå Žåã¯trueãããã§ãªãå Žåã¯falsepublic boolean isParseBigDecimal()
parse(java.lang.String, java.text.ParsePosition)ã¡ãœãããBigDecimalãè¿ããã©ãããè¿ããŸãã ããã©ã«ãå€ã¯falseã§ãã trueãããã§ãªãå Žåã¯falsesetParseBigDecimal(boolean)public void setParseBigDecimal(boolean newValue)
parse(java.lang.String, java.text.ParsePosition)ã¡ãœãããBigDecimalãè¿ããã©ãããèšå®ããŸããnewValue - ãã®è§£æã¡ãœãããBigDecimalãè¿ãå Žåã¯trueãããã§ãªãå Žåã¯falseisParseBigDecimal()public Object clone()
cloneãã¯ã©ã¹NumberFormatCloneablepublic boolean equals(Object obj)
equalsãã¯ã©ã¹NumberFormatobj - æ¯èŒå¯Ÿè±¡ã®åç
§ãªããžã§ã¯ããtrueããã以å€ã®å Žåã¯falseãObject.hashCode()ãHashMappublic int hashCode()
hashCodeãã¯ã©ã¹NumberFormatObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public String toPattern()
applyPattern(java.lang.String)public String toLocalizedPattern()
applyPattern(java.lang.String)public void applyPattern(String pattern)
ãã®ã«ãŒãã³ã§èšå®ãããæŽæ°ã®æ¡æ°ã«å¶éã¯ãããŸãããããã¯ãäžè¬ãªãšã³ãã»ãŠãŒã¶ãŒã®èŠæã§ããããã§ããå®éã®å€ãèšå®ãããå Žåã¯ãsetMaximumIntegerã䜿çšããŠãã ããã è² ã®æ°å€ã®å Žåã¯ãã»ãã³ãã³ã§åºåã£ã2ã€ãã®ãã¿ãŒã³ã䜿çšããŸãã
äŸ"#,#00.0#" â 1,234.56
ããã¯ãæå°2æ¡ã®æŽæ°ã1ã€ã®å°æ°ç¹ãæå€§2æ¡ã®å°æ°ãæå³ããŸãã
äŸ: "#,#00.0#;(#,#00.0#)" (è² ã®æ°å€ã¯æ¬åŒ§ã§å²ã)ã
è² ã®ãã¿ãŒã³ã§ã¯ãæå°ãšæå€§ã®æ¡æ°ã¯ç¡èŠãããŸãããããã¯ãæ£ã®ãã¿ãŒã³ã§èšå®ããããã®ãšèŠãªãããŸãã
pattern - æ°ãããã¿ãŒã³NullPointerException - patternãnullã§ããå ŽåIllegalArgumentException - æå®ããããã¿ãŒã³ãç¡å¹ãªå Žåãpublic void applyLocalizedPattern(String pattern)
ãã®ã«ãŒãã³ã§èšå®ãããæŽæ°ã®æ¡æ°ã«å¶éã¯ãããŸãããããã¯ãäžè¬ãªãšã³ãã»ãŠãŒã¶ãŒã®èŠæã§ããããã§ããå®éã®å€ãèšå®ãããå Žåã¯ãsetMaximumIntegerã䜿çšããŠãã ããã è² ã®æ°å€ã®å Žåã¯ãã»ãã³ãã³ã§åºåã£ã2ã€ãã®ãã¿ãŒã³ã䜿çšããŸãã
äŸ"#,#00.0#" â 1,234.56
ããã¯ãæå°2æ¡ã®æŽæ°ã1ã€ã®å°æ°ç¹ãæå€§2æ¡ã®å°æ°ãæå³ããŸãã
äŸ: "#,#00.0#;(#,#00.0#)" (è² ã®æ°å€ã¯æ¬åŒ§ã§å²ã)ã
è² ã®ãã¿ãŒã³ã§ã¯ãæå°ãšæå€§ã®æ¡æ°ã¯ç¡èŠãããŸãããããã¯ãæ£ã®ãã¿ãŒã³ã§èšå®ããããã®ãšèŠãªãããŸãã
pattern - æ°ãããã¿ãŒã³NullPointerException - patternãnullã§ããå ŽåIllegalArgumentException - æå®ããããã¿ãŒã³ãç¡å¹ãªå Žåãpublic void setMaximumIntegerDigits(int newValue)
BigIntegerãªããžã§ã¯ãããã³BigDecimalãªããžã§ã¯ã以å€ã®æ°å€ããã©ãŒãããããå ŽåãnewValueãš309ã®ãã¡ã®å°ããã»ãã䜿çšãããŸãã è² ã®å
¥åå€ã¯0ã«çœ®ãæããããŸãã setMaximumIntegerDigitsãã¯ã©ã¹NumberFormatnewValue - æŽæ°ã®æå€§è¡šç€ºæ¡æ°ã0ããå°ããå Žåã¯0ã䜿çšãããã å
·è±¡ãµãã¯ã©ã¹ã§ã¯ããã®å€ã®äžéãããã©ãŒããããããæ°å€ã®çš®é¡ã«é©ããå€ã«åŒ·å¶ã§ããã NumberFormat.setMaximumIntegerDigits(int)public void setMinimumIntegerDigits(int newValue)
BigIntegerãªããžã§ã¯ãããã³BigDecimalãªããžã§ã¯ã以å€ã®æ°å€ããã©ãŒãããããå ŽåãnewValueãš309ã®ãã¡ã®å°ããã»ãã䜿çšãããŸãã è² ã®å
¥åå€ã¯0ã«çœ®ãæããããŸãã setMinimumIntegerDigitsãã¯ã©ã¹NumberFormatnewValue - æŽæ°ã®æå°è¡šç€ºæ¡æ°ã0ããå°ããå Žåã¯0ã䜿çšãããã å
·è±¡ãµãã¯ã©ã¹ã§ã¯ããã®å€ã®äžéãããã©ãŒããããããæ°å€ã®çš®é¡ã«é©ããå€ã«åŒ·å¶ã§ããã NumberFormat.setMinimumIntegerDigits(int)public void setMaximumFractionDigits(int newValue)
BigIntegerãªããžã§ã¯ãããã³BigDecimalãªããžã§ã¯ã以å€ã®æ°å€ããã©ãŒãããããå ŽåãnewValueãš340ã®ãã¡ã®å°ããã»ãã䜿çšãããŸãã è² ã®å
¥åå€ã¯0ã«çœ®ãæããããŸãã setMaximumFractionDigitsãã¯ã©ã¹NumberFormatnewValue - å°æ°éšã®æå€§è¡šç€ºæ¡æ°ã0ããå°ããå Žåã¯0ã䜿çšãããã å
·è±¡ãµãã¯ã©ã¹ã§ã¯ããã®å€ã®äžéãããã©ãŒããããããæ°å€ã®çš®é¡ã«é©ããå€ã«åŒ·å¶ã§ããã NumberFormat.setMaximumFractionDigits(int)public void setMinimumFractionDigits(int newValue)
BigIntegerãªããžã§ã¯ãããã³BigDecimalãªããžã§ã¯ã以å€ã®æ°å€ããã©ãŒãããããå ŽåãnewValueãš340ã®ãã¡ã®å°ããã»ãã䜿çšãããŸãã è² ã®å
¥åå€ã¯0ã«çœ®ãæããããŸãã setMinimumFractionDigitsãã¯ã©ã¹NumberFormatnewValue - å°æ°éšã®æå°è¡šç€ºæ¡æ°ã0ããå°ããå Žåã¯0ã䜿çšãããã å
·è±¡ãµãã¯ã©ã¹ã§ã¯ããã®å€ã®äžéãããã©ãŒããããããæ°å€ã®çš®é¡ã«é©ããå€ã«åŒ·å¶ã§ããã NumberFormat.setMinimumFractionDigits(int)public int getMaximumIntegerDigits()
BigIntegerãªããžã§ã¯ãããã³BigDecimalãªããžã§ã¯ã以å€ã®æ°å€ããã©ãŒãããããå Žåããã®æ»ãå€ãš309ã®ãã¡ã®å°ããã»ãã䜿çšãããŸãã getMaximumIntegerDigitsãã¯ã©ã¹NumberFormatsetMaximumIntegerDigits(int)public int getMinimumIntegerDigits()
BigIntegerãªããžã§ã¯ãããã³BigDecimalãªããžã§ã¯ã以å€ã®æ°å€ããã©ãŒãããããå Žåããã®æ»ãå€ãš309ã®ãã¡ã®å°ããã»ãã䜿çšãããŸãã getMinimumIntegerDigitsãã¯ã©ã¹NumberFormatsetMinimumIntegerDigits(int)public int getMaximumFractionDigits()
BigIntegerãªããžã§ã¯ãããã³BigDecimalãªããžã§ã¯ã以å€ã®æ°å€ããã©ãŒãããããå Žåããã®æ»ãå€ãš340ã®ãã¡ã®å°ããã»ãã䜿çšãããŸãã getMaximumFractionDigitsãã¯ã©ã¹NumberFormatsetMaximumFractionDigits(int)public int getMinimumFractionDigits()
BigIntegerãªããžã§ã¯ãããã³BigDecimalãªããžã§ã¯ã以å€ã®æ°å€ããã©ãŒãããããå Žåããã®æ»ãå€ãš340ã®ãã¡ã®å°ããã»ãã䜿çšãããŸãã getMinimumFractionDigitsãã¯ã©ã¹NumberFormatsetMinimumFractionDigits(int)public Currency getCurrency()
DecimalFormatSymbols.getCurrencyãåŒã³åºãããšã§ååŸãããŸãã getCurrencyãã¯ã©ã¹NumberFormatnullpublic void setCurrency(Currency currency)
DecimalFormatSymbols.setCurrencyãåŒã³åºãããšã§èšå®ãããŸãã setCurrencyãã¯ã©ã¹NumberFormatcurrency - ãã®10é²ãã©ãŒãããã§äœ¿çšããæ°ããé貚NullPointerException - currencyãnullã§ããå Žåpublic RoundingMode getRoundingMode()
RoundingModeãååŸããŸããgetRoundingModeãã¯ã©ã¹NumberFormatRoundingModeãsetRoundingMode(RoundingMode)public void setRoundingMode(RoundingMode roundingMode)
RoundingModeãèšå®ããŸããsetRoundingModeãã¯ã©ã¹NumberFormatroundingMode - 䜿çšãããRoundingModeNullPointerException - roundingModeãnullã§ããå ŽåãgetRoundingMode() ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã