NumberFormat 可以将一个数值格式化为符合某个国家地区习惯的数值字符串,也可以将符合某个国家地区习惯的数值字符串解析为对应的数值.
方法:
format方法:将一个数值格式化为符合某个国家地区习惯的数值字符串
parse 方法:将符合某个国家地区习惯的数值字符串解析为对应的数值
实例化NumberFormat 类(在实例化的时候,可以使用Locale对象作为参数,也可以不使用,下面列出的是使用参数的)
getNumberInstance(Locale locale);以参数Locale 对象所标识的本地信息来获得具有多种用途的NumberFormat实例对象(没什么实际作用)
getIntegerInstance(Locale locale):以参数locale对象所标识的本地信息来获得处理整数的NumberFormat实例对象(没什么实际作用)
getCurrencyInstance(Locale locale):以参数locale对象所标识的本地信息来获得处理货币的NumberFormat实例对象
getPercentInstance(Locale locale):以参数locale对象所标识的本地信息来获得处理百分比数值的NumberFormat实例对象
使用案例:
package cn.domain;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;
public class NumberFormatDemo {
public static void main(String[] args) throws ParseException {
int price = 18;
NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.CHINA);
System.out.println(nf.format(price));//输出:¥18.00
nf = NumberFormat.getCurrencyInstance(Locale.US);
System.out.println(nf.format(price));//输出:$18.00
nf = NumberFormat.getCurrencyInstance(Locale.GERMAN);
System.out.println(nf.format(price));//输出:¤ 18,00
String str = "¤ 18,00";
Number n = nf.parse(str);
System.out.println(n.doubleValue());//输出 18
double d = 0.5;
nf = NumberFormat.getPercentInstance(Locale.CHINA);
System.out.println(nf.format(d));//50%
}
}