Java库java.text.NumberFormat类提供了数字格式化的支持

star2017 1年前 ⋅ 364 阅读

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源点

相关文章推荐

全部评论: 0

    我有话说: