Java 库 java.text.NumberFormat 类提供了数字格式化的支持。按国家格式化数字,百分号格式化,货币格式化等
package com.springcloud.gx.numberformat;
import java.text.NumberFormat;
import java.util.Locale;
public class NumberFormatTester {
/**
* 数字格式化
*
* @param amount
* @param currentLocale
*/
public static void displayNumber(Double amount, Locale currentLocale) {
NumberFormat formatter;
String amountOut;
formatter = NumberFormat.getNumberInstance(currentLocale);
amountOut = formatter.format(amount);
System.out.println(amountOut + "......" + currentLocale.toString());
}
/**
* 百分号格式化
*
* @param amount
* @param currentLocale
*/
public static void displayPercent(Double amount, Locale currentLocale) {
NumberFormat formatter;
String amountOut;
formatter = NumberFormat.getPercentInstance(currentLocale);
amountOut = formatter.format(amount);
System.out.println(amountOut + "......" + currentLocale.toString());
}
/**
* 货币格式化
*
* @param amount
* @param currentLocale
*/
public static void displayCurrencyInstance(Double amount, Locale currentLocale) {
NumberFormat formatter;
String amountOut;
formatter = NumberFormat.getCurrencyInstance(currentLocale);
amountOut = formatter.format(amount);
System.out.println(amountOut + "......" + currentLocale.toString());
}
public static void main(String[] args) {
displayNumber(1234567.89, new Locale("en", "US"));
displayNumber(1234567.89, new Locale("de", "DE"));
displayNumber(1234567.89, new Locale("fr", "FR"));
System.out.println("----------------------------------------");
displayPercent(1234567.89, new Locale("en", "US"));
displayPercent(1234567.89, new Locale("de", "DE"));
displayPercent(1234567.89, new Locale("fr", "FR"));
System.out.println("----------------------------------------");
displayCurrencyInstance(1234567.89, new Locale("en", "US"));
displayCurrencyInstance(1234567.89, new Locale("de", "DE"));
displayCurrencyInstance(1234567.89, new Locale("fr", "FR"));
}
}
输出结果:
1,234,567.89......en_US
1.234.567,89......de_DE
1 234 567,89......fr_FR
----------------------------------------
123,456,789%......en_US
123.456.789%......de_DE
123 456 789 %......fr_FR
----------------------------------------
$1,234,567.89......en_US
1.234.567,89 €......de_DE
1 234 567,89 €......fr_FR
更多内容请访问:IT源点
注意:本文归作者所有,未经作者允许,不得转载