数字格式
数字和货币的格式高度依赖locale。
格式化对象的集合,可以对java.text包中的数字进行格式化和解析。
格式化数字值
对特定locale的数字进行格式化的步骤:
- 得到Locale对象
- 使用工厂方法得到一个格式器对象。
- 使用这个格式器对象来完成格式化解析工作。
工厂方法是NumberFormat类的静态方法,接受一个Locale类型参数。
3个工厂方法,getNumberInstance,getCurrencyInstance,getPercentInstance。
分别对数字、货币量和百分比进行格式化和解析。
对德语中的货币值进行格式化
package 第7章国际化;
import java.text.NumberFormat;
import java.util.Locale;
public class 对德语中的货币值进行格式化 {
public static void main(String[] args) {
Locale loc = Locale.GERMAN;
NumberFormat format = NumberFormat.getCurrencyInstance(loc);
double amt = 123456.78;
String result = format.format(amt);
System.out.println(result);
System.out.println(NumberFormat.getCurrencyInstance(Locale.CHINA).format(1111111.11));
System.out.println(NumberFormat.getCurrencyInstance(Locale.CANADA).format(1111111.11));
System.out.println(NumberFormat.getCurrencyInstance(Locale.FRANCE).format(1111111.11));
System.out.println(NumberFormat.getCurrencyInstance(Locale.ITALY).format(1111111.11));
System.out.println(NumberFormat.getCurrencyInstance(Locale.JAPAN).format(1111111.11));
System.out.println(NumberFormat.getCurrencyInstance(Locale.UK).format(1111111.11));
System.out.println(NumberFormat.getCurrencyInstance(Locale.KOREA).format(1111111.11));
System.out.println(NumberFormat.getCurrencyInstance(Locale.US).format(1111111.11));
//短风格
System.out.println(NumberFormat.getCompactNumberInstance(Locale.TAIWAN,NumberFormat.Style.SHORT).format(1111111.11));
}
}
数字格式探索器的通俗易懂文本版本
待续。。。
7.2.2 DecimalFormat类
略,查资料。
7.2.3 货币
看不下去,暂时略。