Java如何格式化数字?

如果要在Java Swing应用程序或JSP文件中显示一些格式化为某种特定格式的数字,则可以利用NumberFormat和DecimalFormat类为您提供所需的格式。这是一个小例子,将向您展示如何做。

在下面的代码片段中,我们首先创建一个double包含一些值的变量。默认情况下,数据类型的toString()方法double将使用科学数字格式打印货币值,因为它大于10^7(10,000,000.00)。为了能够显示没有科学数字格式的数字,我们可以使用java.text.DecimalFormat的子类java.text.NumberFormat。

我们使用模式为#0.00的DecimalFormat类创建格式化程序。#符号表示不显示前导零以外的任何数字。0符号将显示剩余的数字,如果没有可用的数字,则显示为零。

package org.nhooo.example.text;

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class DecimalFormatExample {
    public static void main(String[] args) {
        // 我们这里有数百万美元,我们将调整其样式。
        double money = 100550000.75;

        // 创建一个格式化程序
        NumberFormat formatter = new DecimalFormat("#0.00");

        // 使用科学的数字格式打印数字,并使用我们的 
        // 上面定义的十进制格式模式。
        System.out.println(money);
        System.out.println(formatter.format(money));
    }
}

这是上面代码的不同结果。

1.0055000075E8
100550000.75