免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Java數(shù)字、貨幣值和百分?jǐn)?shù)等的格式化處理

Java數(shù)字、貨幣值和百分?jǐn)?shù)等的格式化處理                                          

如果我們用下列語句輸出一個(gè)數(shù)

System.out.println(123456.789);

將會(huì)在Console看到輸出

123456.789

那么如何得到123,456.789這種格式化的輸出呢?這里就需要用到java.text.Format這個(gè)類。不僅是數(shù)字,它還提供了貨幣值和百分?jǐn)?shù)的格式化輸出,比如0.58的百分?jǐn)?shù)輸出形式是58%。要獲得本地的默認(rèn)格式,可以用下列方法獲得

NumberFormat.getNumberInstance()


NumberFormat.getCurrencyInstance()


NumberFormat.getOPercentInstance()

而要獲得某個(gè)國(guó)家或地區(qū)的具體格式,可以使用參數(shù)Local.XXX,Locale.GERMANY,Locale.UK

NumberFormat formatter = NumberFormat.getNumberInstance(Locale.GERMANY);

范例

 

import java.text.NumberFormat;
import java.util.Locale;

public class FormatTest {

    public static void main(String args[]) {

        // 不使用格式化輸出數(shù)
        double d = 10000.0 / 3.0;
        System.out.println("無格式化輸出:" + d);

        // 使用本地默認(rèn)格式輸出數(shù)
        NumberFormat numberFormat = NumberFormat.getNumberInstance();
        //numberFormat.setMaximumFractionDigits(4);
        //numberFormat.setMinimumIntegerDigits(6);
        String numberString = numberFormat.format(d);
        System.out.println("本地默認(rèn)格式輸出數(shù):" + numberString);

        // 使用本地默認(rèn)格式輸出貨幣值
        NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
        System.out.println("本地默認(rèn)格式輸出貨幣值:" + currencyFormat.format(d));

        // 使用本地默認(rèn)格式輸出百分?jǐn)?shù)
        NumberFormat percentFormat = NumberFormat.getPercentInstance();
        System.out.println("本地默認(rèn)格式輸出百分?jǐn)?shù):" + percentFormat.format(d));

        // 在不同的國(guó)家和地區(qū)數(shù)字表示的格式也有區(qū)別。如德國(guó)
        // 使用德國(guó)的格式化輸出數(shù)
        NumberFormat numberFormatG = NumberFormat
                .getNumberInstance(Locale.GERMANY);
        System.out.println("德國(guó)數(shù)字輸出形式:" + numberFormatG.format(d));

        // 使用德國(guó)貨幣輸出形式
        NumberFormat currencyFormatG = NumberFormat
                .getCurrencyInstance(Locale.GERMANY);
        System.out.println("德國(guó)貨幣輸出形式:" + currencyFormatG.format(d));

        // 使用美國(guó)貨幣輸出形式
        NumberFormat currencyFormatA = NumberFormat
                .getCurrencyInstance(Locale.US);
        System.out.println("美國(guó)貨幣輸出形式:" + currencyFormatA.format(d));

        // 使用德國(guó)百分?jǐn)?shù)輸出形式
        NumberFormat percentFormatG = NumberFormat
                .getPercentInstance(Locale.GERMANY);
        System.out.println("德國(guó)百分?jǐn)?shù)輸出形式:" + percentFormatG.format(d));
        
        System.exit(0);
    }
}

 


程序輸出

<!--[if !vml]-->

<!--[endif]-->

由于歐元符號(hào)無法在此Console輸出,所以顯示?

可以指定顯示的最多(或最少)整數(shù)位和小數(shù)位。如

double d = 10000.0 / 3.0;


NumberFormat numberFormat = NumberFormat.getNumberInstance();


numberFormat.setMaximumFractionDigits(4);


numberFormat.setMinimumIntegerDigits(6);


String numberString = numberFormat.format(d);


System.out.println(numberString);

輸出:


003,333.3333。整數(shù)位不夠的補(bǔ)零,小數(shù)截去部分四舍五入。

    也可以利用NumberFormat的一個(gè)子類DecimalFormat來指定輸出格式。


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


String s = decimalFormat.format(d);

和前面一樣,顯示六個(gè)整數(shù)位和4個(gè)小數(shù)位。

下面對(duì)格式化的數(shù)字進(jìn)行解析。

import java.util.Locale;
import java.text.NumberFormat;
import java.text.ParseException;

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) {
            System.err.println(e1);
        }
        System.out.println(numb1);
       
       
        // 以德國(guó)格式解析
        NumberFormat numberFormat2 = NumberFormat
                .getNumberInstance(Locale.GERMAN);
        Number numb2 = null;
        try {
            numb2 = numberFormat2.parse("33,333.33");
        } catch (ParseException e2) {
            System.err.println(e2);
        }
        System.out.println(numb2);
       
        System.exit(0);
    }
}

程序輸出:


33333.33


33.333

    同樣一種格式33,333.33,有人將之理解為33333.33,也有人認(rèn)為它是33.333,軟件國(guó)際化的重要性可見一斑。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java小數(shù)轉(zhuǎn)化百分?jǐn)?shù)
數(shù)據(jù)格式化
java.text.DecimalFormat()格式化輸出數(shù)字
Java 格式化輸出數(shù)字
java.text.NumberFormat用法
java的double的大數(shù)值時(shí) 如何才能不顯示成科學(xué)計(jì)數(shù)法:...
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服