国际化
来源:互联网 发布:网络卫星电视直播 编辑:程序博客网 时间:2024/05/08 23:01
如果想要国际化的不仅仅只是指定语言和国家,应对IEFT BCP 47语言标签进行理解。
提供常用的ISO-639-1语言,ISO-3166-1国家代码用于构建Locale对象(也可以使用java SE预定义的对象,例如Locale.CHINA,Locale.TAIWAN)
通过一下步骤对特定Locale的数字进行格式化:
使用一个工厂方法接受一个Locale类型的参数。总共有3个方法:getNumberInstance,getCurrencyInstance和getPercentInstance返回的对象可以分别对数字,货币量和百分比进行格式化和解析。:
Locale loc = new Locale("de", "DE");
NumberFormat currFmt = NumberFormat.getCurrenctInstance(loc);
double amt = 12345.67;
String result = currFmt.format(amt);
相反地,读取一个按照某个Locale的惯用方法而输入或存储的数字,那么就需要使用parse方法。:
TextField inputField;
````
NumberFormat fmt = NumberFormat.getNumberInstance();
Number input = fmt.parse(inputField.getText().trim());
double x = input.doubleValue();
parse返回的类型是Number.如果不关心是double还是long,直接用doubleValue方法来读取数字。trim方法可以去掉字符串空白开头的字符(否则抛出ParseException异常)
国际化时间和日期时,通过类似的DateFormat类处理,:
fmt = DateFormat.getDateInstance(dateStyle, loc);
fmt = DateFormat.getTimeInstance(timeStyle, loc);
fmt = DateFormat.getDateTimeInstance(dateStyle, timeStyle, loc);
风格包括:DateFormat.DEFAULT和FULL,LONG,MEDIUM,SHORT
Date now = new Date();
String s = fmt.format(now);
读取输入格式:
TextField inputField;
```
DateFormat fmt = DateFormat.getDateInstance(DateFormat.MEDIUM);
Date input = fmt.parse(inputField.getText().trim());
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- 国际化
- Java面试题汇总
- iOS开发中 Mac OS X 及Xcode 常用快捷键
- Leetcode #59 Spiral Matrix II
- FS_S5PC100平台上Linux Camera驱动开发详解(二)
- SMTP 协议系列一
- 国际化
- 第二篇Java语法总结
- ROS Industrial 简介
- 一个博客的开通 & 这个暑假的计划
- Java 十进制 向二进制 十六进制 转化
- Android Studio导入github上面的项目以及发生的问题
- PHP-source-xmlEncode-1
- uva 146 - ID Codes
- SQLServer 中partition by的应用场景