Java数字、货币值和百分数等的格式化处理

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

提供了货币值和百分数的格式化输出,比如0.58的百分数输出形式是58%。要获得本地的默认格式,可以用下列方法获得

NumberFormat.getNumberInstance()

NumberFormat.getCurrencyInstance()

NumberFormat.getOPercentInstance()

而要获得某个国家或地区的具体格式,可以使用参数Local.XXX,如

Locale.GERMANY,。

NumberFormat formatter =

NumberFormat.getNumberInstance(Locale.GERMANY);

范例

import ;

import ;

public class FormatTest {

public static void main(String args[]) {

// 不使用格式化输出数

double d = 10000.0 / 3.0;

"无格式化输出:" + d);

// 使用本地默认格式输出数

NumberFormat numberFormat = NumberFormat.getNumberInstance();

//numberFormat.setMaximumFractionDigits(4);

//numberFormat.setMinimumIntegerDigits(6);

String numberString = numberFormat.format(d);

"本地默认格式输出数:" + numberString);

// 使用本地默认格式输出货币值

NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(); "本地默认格式输出货币值:" + currencyFormat.format(d));

// 使用本地默认格式输出百分数

NumberFormat percentFormat = NumberFormat.getPercentInstance();

"本地默认格式输出百分数:" + percentFormat.format(d));

// 在不同的国家和地区数字表示的格式也有区别。如德国

// 使用德国的格式化输出数

NumberFormat numberFormatG = NumberFormat

.getNumberInstance(Locale.GERMANY);

"德国数字输出形式:" + numberFormatG.format(d));

// 使用德国货币输出形式

NumberFormat currencyFormatG = NumberFormat

.getCurrencyInstance(Locale.GERMANY);

"德国货币输出形式:" + currencyFormatG.format(d));

// 使用美国货币输出形式

NumberFormat currencyFormatA = NumberFormat

.getCurrencyInstance();

"美国货币输出形式:" + currencyFormatA.format(d));

// 使用德国百分数输出形式

NumberFormat percentFormatG = NumberFormat

.getPercentInstance(Locale.GERMANY);

"德国百分数输出形式:" + percentFormatG.format(d));

System.exit(0);

}

}

程序输出

由于欧元符号无法在此Console输出,所以显示?

可以指定显示的最多(或最少)整数位和小数位。如

double d = 10000.0 / 3.0;

NumberFormat numberFormat = NumberFormat.getNumberInstance(); numberFormat.setMaximumFractionDigits(4);

numberFormat.setMinimumIntegerDigits(6);

String numberString = numberFormat.format(d);

;

输出:

003,333.3333。整数位不够的补零,小数截去部分四舍五入。

也可以利用NumberFormat的一个子类DecimalFormat来指定输出格式。

DecimalFormat decimalFormat = new DecimalFormat("######.0000");

String s = decimalFormat.format(d);

和前面一样,显示六个整数位和4个小数位。

下面对格式化的数字进行解析。

import ;

import ;

import ;

public class ParseFormat {

public static void main(String args[]) {

// 本地格式的解析

NumberFormat numberFormat1 = NumberFormat.getNumberInstance(); Number numb1 = null;

try {

numb1 = numberFormat1.parse("33,333.33");

} catch (ParseException e1) {

;

}

;

// 以德国格式解析

NumberFormat numberFormat2 = NumberFormat

.getNumberInstance(Locale.GERMAN);

Number numb2 = null;

try {

numb2 = numberFormat2.parse("33,333.33");

} catch (ParseException e2) {

;

}

;

System.exit(0);

}

}

相关文档
最新文档