您的位置:首页 > 编程语言 > Java开发

Java内的国际化及数字格式化

2017-03-29 01:46 323 查看
import org.junit.jupiter.api.Test;
import java.text.NumberFormat;
import java.util.Locale;
/**
* Created by huangxgc on 2017/3/23.
*/
public class Test {
public static void main(String[] args) {
// 获取Java支持的所有语言环境
Locale[] localeList = Locale.getAvailableLocales();
// 遍历数组的每个元素,依次获取所支持的国家和语言
for (int i = 0; i < localeList.length; i++) {
System.out.printf("%s=%s %s=%s%n", localeList[i].getDisplayCountry(), localeList[i].getCountry(), localeList[i].getDisplayLanguage(), localeList[i].getLanguage());
}
System.out.println("-----------------------------------------------------")
Locale[] locales = {Locale.GERMAN, Locale.JAPAN, Locale.US,Locale.CHINA};
NumberFormat[] nfs = new NumberFormat[12];
double num = 123456789.987654321;
for (int i = 0; i < locales.length; i++) {
nfs[i * 3] = NumberFormat.getNumberInstance(locales[i]);
nfs[i * 3 + 1] = NumberFormat.getCurrencyInstance(locales[i]);
nfs[i * 3 + 2] = NumberFormat.getPercentInstance(locales[i]);
}
for (int i = 0; i < locales.length; i++) {
String tip = i == 0 ? "----德国的格式----" : i == 1 ? "----日本的格式----" : i == 2 ? "----美国的格式----":"----中国的格式----";
System.out.println(tip);
System.out.println("一般数字格式:"+nfs[i * 3].format(num));
System.out.println("货币数字:"+nfs[i * 3 + 1].format(num));
System.out.println("分号数字格式:"+nfs[i * 3 + 2].format(num));
}
}
}

----------------------------

输出的结果

----德国的格式----
一般数字格式:123.456.789,988
货币数字:¤ 123.456.789,99
分号数字格式:12.345.678.999%
----日本的格式----
一般数字格式:123,456,789.988
货币数字:¥123,456,790
分号数字格式:12,345,678,999%
----美国的格式----
一般数字格式:123,456,789.988
货币数字:$123,456,789.99
分号数字格式:12,345,678,999%
----中国的格式----
一般数字格式:123,456,789.988
货币数字:¥123,456,789.99
分号数字格式:12,345,678,999%
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java numerformat