App下載

詳解Java數(shù)字格式化DecimalFormat類的應(yīng)用

猿友 2021-07-28 10:24:58 瀏覽數(shù) (3864)
反饋

數(shù)字格式化在我們實(shí)際生活中的應(yīng)用十分的普遍的,例如在統(tǒng)計(jì)價(jià)格的時(shí)候,常常會(huì)把價(jià)格統(tǒng)一成小數(shù)點(diǎn)后兩位,如果不足兩位,那么就會(huì)以 0 來(lái)補(bǔ)齊。下面,我將通過(guò) Java 中的 DecimalFormat 類是怎么實(shí)現(xiàn)數(shù)字格式化的。

一、簡(jiǎn)介

在應(yīng)用 DecimalFormat 類之前,我們先了解一下 DecimalFormat 這個(gè)類。

DecimalFormat 是 NumberFormat 的一個(gè)子類,是用在十進(jìn)制數(shù)字的格式化。它具備了許多的功能。比如解析和格式化在所有語(yǔ)言環(huán)境中的數(shù)字,這其中也包括了西方,阿拉伯語(yǔ)和印度語(yǔ)數(shù)字。同時(shí),也支持了許多不同類型的數(shù)字,例如整數(shù)、小數(shù)、科學(xué)計(jì)數(shù)法、百分比或是貨幣金額,以上這些類型都可以進(jìn)行本地化。

DecimalFormat 類中定義了一個(gè)模式和一組符號(hào),常用的符號(hào)具體如下圖所示:

DecimalFormat支持的特殊符號(hào)

二、代碼演示

下面將通過(guò)編寫(xiě)一個(gè)簡(jiǎn)單的 Java 程序,演示如何使用 DecimalFormat 類將數(shù)字轉(zhuǎn)化成相應(yīng)的格式,具體代碼如下:

import java.text.DecimalFormat;
import java.util.Scanner;

public class Demo01 {

    public static void main(String[] args) {
        // 實(shí)例化DecimalFormat類的對(duì)象,并分別指定格式
        DecimalFormat df1=new DecimalFormat("0.0");
        DecimalFormat df2=new DecimalFormat("#.#");
        DecimalFormat df3=new DecimalFormat("000.000");
        DecimalFormat df4=new DecimalFormat("###.###");

        Scanner sc=new Scanner(System.in);
        System.out.println("請(qǐng)輸入一個(gè)float類型的數(shù)字:");
        float f=sc.nextFloat();

        // 對(duì)輸入的數(shù)字應(yīng)用相應(yīng)格式,打印結(jié)果
        System.out.println("0.0格式:"+df1.format(f));
        System.out.println("#.#格式:"+df2.format(f));
        System.out.println("000.000格式:"+df3.format(f));
        System.out.println("###.###格式:"+df4.format(f));
    }
}

運(yùn)行結(jié)果:

請(qǐng)輸入一個(gè)float類型的數(shù)字:
356.2356545
0.0格式:356.2
#.#格式:356.2
000.000格式:356.236
###.###格式:356.236
請(qǐng)輸入一個(gè)float類型的數(shù)字:
32.0
0.0格式:32.0
#.#格式:32
000.000格式:032.000
###.###格式:32

其他格式的應(yīng)用:

        DecimalFormat df1=new DecimalFormat("000,000"); // 組分隔符
        DecimalFormat df2=new DecimalFormat("00%"); // 百分號(hào)

打印結(jié)果:

請(qǐng)輸入一個(gè)float類型的數(shù)字:
99999.36548
,格式:099,999
%格式:9999937%

三、總結(jié)

以上就是關(guān)于 Java 中 DecimalFormat 類對(duì)數(shù)字格式化處理的詳細(xì)應(yīng)用的全部?jī)?nèi)容,想要了解更多相關(guān) Java 格式化的內(nèi)容,請(qǐng)搜索W3Cschool相關(guān)文章。希望本篇文章對(duì)大家的學(xué)習(xí)有所幫助,也希望大家能夠多多地關(guān)注和支持我們!


0 人點(diǎn)贊