Java : NumberFormat 示例
Java 中的 NumberFormat (Java SE 24 & JDK 24) 及其示例。
您将找到大多数 NumberFormat 方法的代码示例。
注解 :
- 本文可能使用了翻译软件以方便阅读。 另请查看英文原文。
简介
NumberFormat 是所有数字格式的抽象基类。该类提供了以本地化方式格式化和解析数字的接口。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.format(1234000)); // 1,234,000
System.out.println(format.format(-56789)); // -56,789
System.out.println(format.format(0.123456)); // 0.123
final var number = 1234;
final var format1 = NumberFormat.getCurrencyInstance(Locale.US);
System.out.println(format1.format(number)); // $1,234.00
final var format2 = NumberFormat.getCurrencyInstance(Locale.JAPAN);
System.out.println(format2.format(number)); // ¥1,234
final var number = 10000000;
final var format1 = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.LONG);
System.out.println(format1.format(number)); // 10 million
final var format2 = NumberFormat.getCompactNumberInstance(Locale.JAPAN, NumberFormat.Style.SHORT);
System.out.println(format2.format(number)); // 1000万
Fields
static final int FRACTION_FIELD
用于构造 FieldPosition 对象的字段常量。 (机器翻译)
final var number = 123.456;
final var format = NumberFormat.getNumberInstance(Locale.US);
System.out.println(format.format(number)); // 123.456
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.INTEGER_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 123.456
System.out.println(pos.getBeginIndex()); // 6
System.out.println(pos.getEndIndex()); // 9
}
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.FRACTION_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 123.456
System.out.println(pos.getBeginIndex()); // 10
System.out.println(pos.getEndIndex()); // 13
}
static final int INTEGER_FIELD
用于构造 FieldPosition 对象的字段常量。 (机器翻译)
final var number = 123.456;
final var format = NumberFormat.getNumberInstance(Locale.US);
System.out.println(format.format(number)); // 123.456
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.INTEGER_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 123.456
System.out.println(pos.getBeginIndex()); // 6
System.out.println(pos.getEndIndex()); // 9
}
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.FRACTION_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 123.456
System.out.println(pos.getBeginIndex()); // 10
System.out.println(pos.getEndIndex()); // 13
}
Constructors
NumberFormat ()
唯一建造者。 (机器翻译)
I think it's rare to create a subclass of NumberFormat. Therefore, the code example is omitted.
Methods
Object clone ()
覆盖 Cloneable。 (机器翻译)
final var number = 1.234;
final var format = NumberFormat.getNumberInstance();
format.setMaximumFractionDigits(2);
System.out.println(format.format(number)); // 1.23
if (format.clone() instanceof NumberFormat cloned) {
System.out.println(cloned.format(number)); // 1.23
System.out.println(cloned.equals(format)); // true
}
boolean equals (Object obj)
将指定对象与此 NumberFormat 进行比较以确定其是否相等。 (机器翻译)
final var format1 = NumberFormat.getNumberInstance();
final var format2 = NumberFormat.getCurrencyInstance();
System.out.println(format1.equals(format2)); // false
final var format1 = NumberFormat.getNumberInstance();
final var format2 = NumberFormat.getNumberInstance();
System.out.println(format1.equals(format2)); // true
format1.setMaximumFractionDigits(2);
System.out.println(format1.equals(format2)); // false
final String format (double number)
格式的专业化。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var number = 1.234;
final var format = NumberFormat.getNumberInstance();
System.out.println(format.format(number)); // 1.234
format.setMaximumFractionDigits(2);
System.out.println(format.format(number)); // 1.23
format.setMinimumIntegerDigits(3);
System.out.println(format.format(number)); // 001.23
abstract StringBuffer format (double number, StringBuffer toAppendTo, FieldPosition pos)
格式的专业化。 (机器翻译)
final var number = 123.456;
final var format = NumberFormat.getNumberInstance(Locale.US);
System.out.println(format.format(number)); // 123.456
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.INTEGER_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 123.456
System.out.println(pos.getBeginIndex()); // 6
System.out.println(pos.getEndIndex()); // 9
}
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.FRACTION_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 123.456
System.out.println(pos.getBeginIndex()); // 10
System.out.println(pos.getEndIndex()); // 13
}
final String format (long number)
格式的专业化。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var number = 1234L;
final var format1 = NumberFormat.getCurrencyInstance();
System.out.println(format1.format(number)); // $1,234.00
final var format2 = NumberFormat.getCurrencyInstance(Locale.JAPAN);
System.out.println(format2.format(number)); // ¥1,234
abstract StringBuffer format (long number, StringBuffer toAppendTo, FieldPosition pos)
格式的专业化。 (机器翻译)
final var format = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
format.setMinimumFractionDigits(2);
final var number = 12340L;
System.out.println(format.format(number)); // 12.34K
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.INTEGER_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 12.34K
System.out.println(pos.getBeginIndex()); // 6
System.out.println(pos.getEndIndex()); // 8
}
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.FRACTION_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 12.34K
System.out.println(pos.getBeginIndex()); // 9
System.out.println(pos.getEndIndex()); // 11
}
StringBuffer format (Object number, StringBuffer toAppendTo, FieldPosition pos)
格式化数字并将结果文本附加到给定的字符串缓冲区。 (机器翻译)
final var format = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
format.setMinimumFractionDigits(2);
final var number = new BigInteger("12340000000000");
System.out.println(format.format(number)); // 12.34T
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.INTEGER_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 12.34T
System.out.println(pos.getBeginIndex()); // 6
System.out.println(pos.getEndIndex()); // 8
}
{
final var sb = new StringBuffer("num = ");
System.out.println(sb); // num =
final var pos = new FieldPosition(NumberFormat.FRACTION_FIELD);
final var ret = format.format(number, sb, pos);
System.out.println(ret); // num = 12.34T
System.out.println(pos.getBeginIndex()); // 9
System.out.println(pos.getEndIndex()); // 11
}
static Locale[] getAvailableLocales ()
返回此类的 get*Instance 方法可以返回本地化实例的所有语言环境的数组。 (机器翻译)
final var locales = NumberFormat.getAvailableLocales();
for (final var locale : locales) {
System.out.println(locale.toLanguageTag());
}
// Result
// ↓
//und
//sr-ME
//ksh
//fr-SY
//fr-TD
//fr-TG
//ccp
//...
static NumberFormat getCompactNumberInstance ()
返回具有“SHORT”格式样式的默认 FORMAT 语言环境的紧凑数字格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var number = 10000000;
final var format1 = NumberFormat.getCompactNumberInstance();
System.out.println(format1.format(number)); // 10M
final var format2 = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
System.out.println(format2.format(number)); // 10M
final var format3 = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.LONG);
System.out.println(format3.format(number)); // 10 million
final var format4 = NumberFormat.getCompactNumberInstance(Locale.JAPAN, NumberFormat.Style.SHORT);
System.out.println(format4.format(number)); // 1000万
static NumberFormat getCompactNumberInstance (Locale locale, NumberFormat.Style formatStyle)
返回指定语言环境和 formatStyle 的紧凑数字格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var number = 10000000;
final var format1 = NumberFormat.getCompactNumberInstance();
System.out.println(format1.format(number)); // 10M
final var format2 = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.SHORT);
System.out.println(format2.format(number)); // 10M
final var format3 = NumberFormat.getCompactNumberInstance(Locale.US, NumberFormat.Style.LONG);
System.out.println(format3.format(number)); // 10 million
final var format4 = NumberFormat.getCompactNumberInstance(Locale.JAPAN, NumberFormat.Style.SHORT);
System.out.println(format4.format(number)); // 1000万
Currency getCurrency ()
获取格式化货币值时此数字格式所使用的货币。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var number = 1234;
final var format1 = NumberFormat.getCurrencyInstance();
System.out.println(format1.format(number)); // $1,234.00
System.out.println(format1.getCurrency()); // USD
System.out.println(format1.getMinimumFractionDigits()); // 2
final var format2 = NumberFormat.getCurrencyInstance(Locale.JAPAN);
System.out.println(format2.format(number)); // ¥1,234
System.out.println(format2.getCurrency()); // JPY
System.out.println(format2.getMinimumFractionDigits()); // 0
static final NumberFormat getCurrencyInstance ()
返回当前默认 FORMAT 语言环境的货币格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var number = 1234;
final var format1 = NumberFormat.getCurrencyInstance();
System.out.println(format1.format(number)); // $1,234.00
System.out.println(format1.getCurrency()); // USD
System.out.println(format1.getMinimumFractionDigits()); // 2
final var format2 = NumberFormat.getCurrencyInstance(Locale.JAPAN);
System.out.println(format2.format(number)); // ¥1,234
System.out.println(format2.getCurrency()); // JPY
System.out.println(format2.getMinimumFractionDigits()); // 0
static NumberFormat getCurrencyInstance (Locale inLocale)
返回指定语言环境的货币格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var number = 1234;
final var format1 = NumberFormat.getCurrencyInstance();
System.out.println(format1.format(number)); // $1,234.00
System.out.println(format1.getCurrency()); // USD
System.out.println(format1.getMinimumFractionDigits()); // 2
final var format2 = NumberFormat.getCurrencyInstance(Locale.JAPAN);
System.out.println(format2.format(number)); // ¥1,234
System.out.println(format2.getCurrency()); // JPY
System.out.println(format2.getMinimumFractionDigits()); // 0
static final NumberFormat getInstance ()
返回当前默认 FORMAT 语言环境的通用数字格式。 (机器翻译)
This method is equivalent to getNumberInstance().
static NumberFormat getInstance (Locale inLocale)
返回指定语言环境的通用数字格式。 (机器翻译)
This method is equivalent to getNumberInstance(inLocale).
static final NumberFormat getIntegerInstance ()
返回当前默认 FORMAT 语言环境的整数格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format1 = NumberFormat.getIntegerInstance();
System.out.println(format1.getRoundingMode()); // HALF_EVEN
System.out.println(format1.isParseIntegerOnly()); // true
System.out.println(format1.format(12345678)); // 12,345,678
System.out.println(format1.format(9.9)); // 10
final var format2 = NumberFormat.getIntegerInstance(Locale.GERMANY);
System.out.println(format2.format(12345678)); // 12.345.678
System.out.println(format2.format(9.9)); // 10
static NumberFormat getIntegerInstance (Locale inLocale)
返回指定语言环境的整数格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format1 = NumberFormat.getIntegerInstance();
System.out.println(format1.getRoundingMode()); // HALF_EVEN
System.out.println(format1.isParseIntegerOnly()); // true
System.out.println(format1.format(12345678)); // 12,345,678
System.out.println(format1.format(9.9)); // 10
final var format2 = NumberFormat.getIntegerInstance(Locale.GERMANY);
System.out.println(format2.format(12345678)); // 12.345.678
System.out.println(format2.format(9.9)); // 10
int getMaximumFractionDigits ()
返回数字小数部分允许的最大位数。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.getMinimumFractionDigits()); // 0
System.out.println(format.getMaximumFractionDigits()); // 3
System.out.println(format.format(0.01234)); // 0.012
System.out.println(format.format(456.0)); // 456
format.setMinimumFractionDigits(1);
format.setMaximumFractionDigits(4);
System.out.println(format.getMinimumFractionDigits()); // 1
System.out.println(format.getMaximumFractionDigits()); // 4
System.out.println(format.format(0.01234)); // 0.0123
System.out.println(format.format(456.0)); // 456.0
int getMaximumIntegerDigits ()
返回数字的整数部分允许的最大位数。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.getMinimumIntegerDigits()); // 1
System.out.println(format.getMaximumIntegerDigits()); // 2147483647
System.out.println(format.format(1234567890)); // 1,234,567,890
System.out.println(format.format(1)); // 1
format.setMinimumIntegerDigits(3);
format.setMaximumIntegerDigits(8);
System.out.println(format.getMinimumIntegerDigits()); // 3
System.out.println(format.getMaximumIntegerDigits()); // 8
System.out.println(format.format(1234567890)); // 34,567,890
System.out.println(format.format(1)); // 001
int getMinimumFractionDigits ()
返回数字小数部分允许的最小位数。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.getMinimumFractionDigits()); // 0
System.out.println(format.getMaximumFractionDigits()); // 3
System.out.println(format.format(0.01234)); // 0.012
System.out.println(format.format(456.0)); // 456
format.setMinimumFractionDigits(1);
format.setMaximumFractionDigits(4);
System.out.println(format.getMinimumFractionDigits()); // 1
System.out.println(format.getMaximumFractionDigits()); // 4
System.out.println(format.format(0.01234)); // 0.0123
System.out.println(format.format(456.0)); // 456.0
int getMinimumIntegerDigits ()
返回数字的整数部分允许的最小位数。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.getMinimumIntegerDigits()); // 1
System.out.println(format.getMaximumIntegerDigits()); // 2147483647
System.out.println(format.format(1234567890)); // 1,234,567,890
System.out.println(format.format(1)); // 1
format.setMinimumIntegerDigits(3);
format.setMaximumIntegerDigits(8);
System.out.println(format.getMinimumIntegerDigits()); // 3
System.out.println(format.getMaximumIntegerDigits()); // 8
System.out.println(format.format(1234567890)); // 34,567,890
System.out.println(format.format(1)); // 001
static final NumberFormat getNumberInstance ()
返回当前默认 FORMAT 语言环境的通用数字格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format1 = NumberFormat.getNumberInstance();
System.out.println(format1.format(12345678)); // 12,345,678
System.out.println(format1.format(0.123)); // 0.123
final var format2 = NumberFormat.getNumberInstance(Locale.GERMANY);
System.out.println(format2.format(12345678)); // 12.345.678
System.out.println(format2.format(0.123)); // 0,123
static NumberFormat getNumberInstance (Locale inLocale)
返回指定语言环境的通用数字格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format1 = NumberFormat.getNumberInstance();
System.out.println(format1.format(12345678)); // 12,345,678
System.out.println(format1.format(0.123)); // 0.123
final var format2 = NumberFormat.getNumberInstance(Locale.GERMANY);
System.out.println(format2.format(12345678)); // 12.345.678
System.out.println(format2.format(0.123)); // 0,123
static final NumberFormat getPercentInstance ()
返回当前默认 FORMAT 语言环境的百分比格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format1 = NumberFormat.getPercentInstance();
System.out.println(format1.format(0.75)); // 75%
final var format2 = NumberFormat.getPercentInstance(Locale.FRANCE);
System.out.println(format2.format(0.75)); // 75 %
static NumberFormat getPercentInstance (Locale inLocale)
返回指定语言环境的百分比格式。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format1 = NumberFormat.getPercentInstance();
System.out.println(format1.format(0.75)); // 75%
final var format2 = NumberFormat.getPercentInstance(Locale.FRANCE);
System.out.println(format2.format(0.75)); // 75 %
RoundingMode getRoundingMode ()
获取此 NumberFormat 中使用的 RoundingMode。 (机器翻译)
final var format = NumberFormat.getNumberInstance(Locale.US);
System.out.println(format.getMaximumFractionDigits()); // 3
System.out.println(format.getRoundingMode()); // HALF_EVEN
System.out.println(format.format(0.1114)); // 0.111
System.out.println(format.format(0.1115)); // 0.112
System.out.println(format.format(0.1116)); // 0.112
format.setRoundingMode(RoundingMode.UP);
System.out.println(format.getRoundingMode()); // UP
System.out.println(format.format(0.1114)); // 0.112
System.out.println(format.format(0.1115)); // 0.112
System.out.println(format.format(0.1116)); // 0.112
format.setRoundingMode(RoundingMode.DOWN);
System.out.println(format.getRoundingMode()); // DOWN
System.out.println(format.format(0.1114)); // 0.111
System.out.println(format.format(0.1115)); // 0.111
System.out.println(format.format(0.1116)); // 0.111
int hashCode ()
返回此 NumberFormat 的哈希码。 (机器翻译)
final var format1 = NumberFormat.getNumberInstance(Locale.US);
System.out.println(format1.hashCode()); // 423132
final var format2 = NumberFormat.getNumberInstance(Locale.JAPAN);
System.out.println(format2.hashCode()); // 423132
final var format3 = NumberFormat.getCurrencyInstance(Locale.US);
System.out.println(format3.hashCode()); // 423168
boolean isGroupingUsed ()
如果以这种格式使用分组,则返回 true。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.isGroupingUsed()); // true
System.out.println(format.format(1234567)); // 1,234,567
format.setGroupingUsed(false);
System.out.println(format.isGroupingUsed()); // false
System.out.println(format.format(1234567)); // 1234567
boolean isParseIntegerOnly ()
如果此格式仅将数字解析为整数,则返回 true。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.isParseIntegerOnly()); // false
final var ret1 = format.parse("123");
System.out.println(ret1); // 123
final var ret2 = format.parse("4.567");
System.out.println(ret2); // 4.567
format.setParseIntegerOnly(true);
System.out.println(format.isParseIntegerOnly()); // true
final var ret3 = format.parse("4.567");
System.out.println(ret3); // 4
boolean isStrict ()
如果此格式将严格解析数字,则返回 true;否则返回 false。 (机器翻译)
final var format = NumberFormat.getNumberInstance();
System.out.println(format.isStrict()); // false
final var ret = format.parse("75%");
System.out.println(ret); // 75
format.setStrict(true);
System.out.println(format.isStrict()); // true
try {
var _ = format.parse("75%");
} catch (ParseException e) {
System.out.println(e);
}
// Result
// ↓
//java.text.ParseException: Unparseable number: "75%"
Number parse (String source)
从给定字符串的开头解析文本以生成数字。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
final var ret1 = format.parse("123,000");
System.out.println(ret1); // 123000
System.out.println(ret1.getClass().getSimpleName()); // Long
final var ret2 = format.parse("0.123");
System.out.println(ret2); // 0.123
System.out.println(ret2.getClass().getSimpleName()); // Double
final var format = NumberFormat.getPercentInstance();
final var ret = format.parse("75%");
System.out.println(ret); // 0.75
System.out.println(ret.getClass().getSimpleName()); // Double
final var format = NumberFormat.getCompactNumberInstance();
final var ret = format.parse("100K");
System.out.println(ret); // 100000
System.out.println(ret.getClass().getSimpleName()); // Long
abstract Number parse (String source, ParsePosition parsePosition)
从给定字符串的开头解析文本以生成数字。 (机器翻译)
final var format = NumberFormat.getNumberInstance(Locale.US);
final var source = "123 456";
final var pos = new ParsePosition(0);
final var ret1 = format.parse(source, pos);
System.out.println(ret1); // 123
System.out.println(pos.getIndex()); // 3
pos.setIndex(pos.getIndex() + 1);
final var ret2 = format.parse(source, pos);
System.out.println(ret2); // 456
System.out.println(pos.getIndex()); // 7
final var ret3 = format.parse(source, pos);
System.out.println(ret3); // null
final Object parseObject (String source, ParsePosition pos)
解析给定字符串中的文本以生成对象。 (机器翻译)
final var format = NumberFormat.getNumberInstance(Locale.US);
final var source = "123 456";
final var pos = new ParsePosition(0);
final var ret1 = format.parseObject(source, pos);
System.out.println(ret1); // 123
System.out.println(pos.getIndex()); // 3
pos.setIndex(pos.getIndex() + 1);
final var ret2 = format.parseObject(source, pos);
System.out.println(ret2); // 456
System.out.println(pos.getIndex()); // 7
final var ret3 = format.parseObject(source, pos);
System.out.println(ret3); // null
void setCurrency (Currency currency)
设置格式化货币值时此数字格式所使用的货币。 (机器翻译)
Please see also : getCurrency()
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var number = 1234;
final var format = NumberFormat.getCurrencyInstance();
System.out.println(format.format(number)); // $1,234.00
System.out.println(format.getCurrency()); // USD
format.setCurrency(Currency.getInstance(Locale.JAPAN));
format.setMinimumFractionDigits(0);
System.out.println(format.format(number)); // ¥1,234
System.out.println(format.getCurrency()); // JPY
void setGroupingUsed (boolean newValue)
设置此格式是否使用分组。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.isGroupingUsed()); // true
System.out.println(format.format(1234567)); // 1,234,567
format.setGroupingUsed(false);
System.out.println(format.isGroupingUsed()); // false
System.out.println(format.format(1234567)); // 1234567
void setMaximumFractionDigits (int newValue)
设置数字小数部分允许的最大位数。maximumFractionDigits 必须≥minimumFractionDigits。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.getMinimumFractionDigits()); // 0
System.out.println(format.getMaximumFractionDigits()); // 3
System.out.println(format.format(0.01234)); // 0.012
System.out.println(format.format(456.0)); // 456
format.setMinimumFractionDigits(1);
format.setMaximumFractionDigits(4);
System.out.println(format.getMinimumFractionDigits()); // 1
System.out.println(format.getMaximumFractionDigits()); // 4
System.out.println(format.format(0.01234)); // 0.0123
System.out.println(format.format(456.0)); // 456.0
void setMaximumIntegerDigits (int newValue)
设置数字的整数部分允许的最大位数。maximumIntegerDigits 必须≥minimumIntegerDigits。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.getMinimumIntegerDigits()); // 1
System.out.println(format.getMaximumIntegerDigits()); // 2147483647
System.out.println(format.format(1234567890)); // 1,234,567,890
System.out.println(format.format(1)); // 1
format.setMinimumIntegerDigits(3);
format.setMaximumIntegerDigits(8);
System.out.println(format.getMinimumIntegerDigits()); // 3
System.out.println(format.getMaximumIntegerDigits()); // 8
System.out.println(format.format(1234567890)); // 34,567,890
System.out.println(format.format(1)); // 001
void setMinimumFractionDigits (int newValue)
设置数字小数部分允许的最小位数。minimumFractionDigits 必须 ≤ maximumFractionDigits。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.getMinimumFractionDigits()); // 0
System.out.println(format.getMaximumFractionDigits()); // 3
System.out.println(format.format(0.01234)); // 0.012
System.out.println(format.format(456.0)); // 456
format.setMinimumFractionDigits(1);
format.setMaximumFractionDigits(4);
System.out.println(format.getMinimumFractionDigits()); // 1
System.out.println(format.getMaximumFractionDigits()); // 4
System.out.println(format.format(0.01234)); // 0.0123
System.out.println(format.format(456.0)); // 456.0
void setMinimumIntegerDigits (int newValue)
设置数字整数部分允许的最小位数。minimumIntegerDigits 必须 ≤ maximumIntegerDigits。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.getMinimumIntegerDigits()); // 1
System.out.println(format.getMaximumIntegerDigits()); // 2147483647
System.out.println(format.format(1234567890)); // 1,234,567,890
System.out.println(format.format(1)); // 1
format.setMinimumIntegerDigits(3);
format.setMaximumIntegerDigits(8);
System.out.println(format.getMinimumIntegerDigits()); // 3
System.out.println(format.getMaximumIntegerDigits()); // 8
System.out.println(format.format(1234567890)); // 34,567,890
System.out.println(format.format(1)); // 001
void setParseIntegerOnly (boolean value)
设置是否仅将数字解析为整数。 (机器翻译)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var format = NumberFormat.getNumberInstance();
System.out.println(format.isParseIntegerOnly()); // false
final var ret1 = format.parse("123");
System.out.println(ret1); // 123
final var ret2 = format.parse("4.567");
System.out.println(ret2); // 4.567
format.setParseIntegerOnly(true);
System.out.println(format.isParseIntegerOnly()); // true
final var ret3 = format.parse("4.567");
System.out.println(ret3); // 4
void setRoundingMode (RoundingMode roundingMode)
设置此 NumberFormat 中使用的 RoundingMode。 (机器翻译)
final var format = NumberFormat.getNumberInstance(Locale.US);
System.out.println(format.getMaximumFractionDigits()); // 3
System.out.println(format.getRoundingMode()); // HALF_EVEN
System.out.println(format.format(0.1114)); // 0.111
System.out.println(format.format(0.1115)); // 0.112
System.out.println(format.format(0.1116)); // 0.112
format.setRoundingMode(RoundingMode.UP);
System.out.println(format.getRoundingMode()); // UP
System.out.println(format.format(0.1114)); // 0.112
System.out.println(format.format(0.1115)); // 0.112
System.out.println(format.format(0.1116)); // 0.112
format.setRoundingMode(RoundingMode.DOWN);
System.out.println(format.getRoundingMode()); // DOWN
System.out.println(format.format(0.1114)); // 0.111
System.out.println(format.format(0.1115)); // 0.111
System.out.println(format.format(0.1116)); // 0.111
void setStrict (boolean strict)
更改解析的宽大处理值。 (机器翻译)
final var format = NumberFormat.getNumberInstance();
System.out.println(format.isStrict()); // false
final var ret = format.parse("75%");
System.out.println(ret); // 75
format.setStrict(true);
System.out.println(format.isStrict()); // true
try {
var _ = format.parse("75%");
} catch (ParseException e) {
System.out.println(e);
}
// Result
// ↓
//java.text.ParseException: Unparseable number: "75%"
Methods declared in Format
相关文章
- API 示例
- Format
- NumberFormat
- Format