Java国际化(i18n)格式化模式
精华
小牛编辑
155浏览
2023-03-14
以下是在格式化模式中使用字符。
编号 | 类 | 描述 |
---|---|---|
1 | 0 |
如果数字较小,则显示0。 |
2 | # |
显示忽略前导零的数字。 |
3 | . |
小数分隔符。 |
4 | , |
分组分隔符。 |
5 | E |
指数格式的尾数和指数分隔符。 |
6 | ; |
格式分隔符。 |
7 | - |
负数字前缀。 |
8 | % |
将乘以100后的数字显示为百分比。 |
9 | ? |
与1000相乘后显示数字为千位。 |
10 | X |
将字符标记为数字前缀/后缀。 |
11 | ' |
标记特殊字符的引号。 |
在这个例子中,我们根据不同的模式来格式化数字。
文件:IOTester.java -
import java.text.DecimalFormat;
public class I18NTester {
public static void main(String[] args) {
String pattern = "###.###";
double number = 123456789.123;
DecimalFormat numberFormat = new DecimalFormat(pattern);
System.out.println(number);
//pattern ###.###
System.out.println(numberFormat.format(number));
//pattern ###.#
numberFormat.applyPattern("###.#");
System.out.println(numberFormat.format(number));
//pattern ###,###.##
numberFormat.applyPattern("###,###.##");
System.out.println(numberFormat.format(number));
number = 9.34;
//pattern 000.###
numberFormat.applyPattern("000.##");
System.out.println(numberFormat.format(number));
}
}
执行上面示例代码,得到以下结果 -
1.23456789123E8
123456789.123
123456789.1
123,456,789.12
009.34