numberformat java_【Java】java.text.NumberFormat 工具类
NumberFormat?表示數(shù)字的格式化類(lèi), 即:可以按照本地的風(fēng)格習(xí)慣進(jìn)行數(shù)字的顯示。
此類(lèi)的定義如下:
public abstract class NumberFormat extends Format
MessageFormat?、DateFormat?、NumberFormat?是?Format?三個(gè)常用的子類(lèi),如果要想進(jìn)一步完成一個(gè)好的國(guó)際化程序,則肯定需要同時(shí)使用這樣三個(gè)類(lèi)完成,根據(jù)不同的國(guó)家顯示貸幣的形式。
此類(lèi)還是在java.text 包中,所以直接導(dǎo)入此包即可。
源碼測(cè)試import?java.text.NumberFormat;
public?class?Main?{
public?static?void?main(String[]?args)?{
Double?myNumber?=?23323.3323232323;
Double?test?=?0.3434;
//?getInstance()
//?返回當(dāng)前缺省語(yǔ)言環(huán)境的缺省數(shù)值格式。
String?myString?=?NumberFormat.getInstance().format(myNumber);
System.out.println(myString);???//?23,323.332
//?getCurrencyInstance()返回當(dāng)前缺省語(yǔ)言環(huán)境的貨幣格式
myString?=?NumberFormat.getCurrencyInstance().format(myNumber);
System.out.println(myString);???//?¥23,323.33
//?getNumberInstance()?返回當(dāng)前缺省語(yǔ)言環(huán)境的通用數(shù)值格式。
myString?=?NumberFormat.getNumberInstance().format(myNumber);
System.out.println(myString);???//?23,323.332
//?getPercentInstance()?返回當(dāng)前缺省語(yǔ)言環(huán)境的百分比格式。
myString?=?NumberFormat.getPercentInstance().format(test);
System.out.println(myString);???//?34%
//?setMaximumFractionDigits(int)?設(shè)置數(shù)值的小數(shù)部分允許的最大位數(shù)。
//?setMaximumIntegerDigits(int)??設(shè)置數(shù)值的整數(shù)部分允許的最大位數(shù)。
//?setMinimumFractionDigits(int)?設(shè)置數(shù)值的小數(shù)部分允許的最小位數(shù)。
//?setMinimumIntegerDigits(int)??設(shè)置數(shù)值的整數(shù)部分允許的最小位數(shù).
NumberFormat?format?=?NumberFormat.getInstance();
format.setMaximumFractionDigits(5);?????//?小數(shù)部分允許的最大位數(shù)
format.setMinimumFractionDigits(3);?????//?小數(shù)部分允許的最小位數(shù)
format.setMaximumIntegerDigits(10);?????//?整數(shù)部分允許的最大位數(shù)
format.setMinimumIntegerDigits(3);??????//?整數(shù)部分允許的最小位數(shù)
System.out.println(format.format(2132323213.23866666666));??????//?2,132,323,213.23867
System.out.println(format.format(2132323213.23));???????????????//?2,132,323,213.230
System.out.println(format.format(13123122132323213.23));????????//?2,132,323,214.000
System.out.println(format.format(13.23));???????????????????????//?013.230
}
}
查詢(xún)?cè)创a即可一目了然如何設(shè)置國(guó)際化,部分源碼如下/**
*?Returns?a?currency?format?for?the?current?default?locale.
*/
public?final?static?NumberFormat?getCurrencyInstance()?{
return?getInstance(Locale.getDefault(Locale.Category.FORMAT),?CURRENCYSTYLE);
}
/**
*?Returns?a?currency?format?for?the?specified?locale.
*/
public?static?NumberFormat?getCurrencyInstance(Locale?inLocale)?{
return?getInstance(inLocale,?CURRENCYSTYLE);
}
/**
*?Returns?a?percentage?format?for?the?current?default?locale.
*/
public?final?static?NumberFormat?getPercentInstance()?{
return?getInstance(Locale.getDefault(Locale.Category.FORMAT),?PERCENTSTYLE);
}
/**
*?Returns?a?percentage?format?for?the?specified?locale.
*/
public?static?NumberFormat?getPercentInstance(Locale?inLocale)?{
return?getInstance(inLocale,?PERCENTSTYLE);
}
/**
*?Returns?a?scientific?format?for?the?current?default?locale.
*/
/*public*/?final?static?NumberFormat?getScientificInstance()?{
return?getInstance(Locale.getDefault(Locale.Category.FORMAT),?SCIENTIFICSTYLE);
}
/**
*?Returns?a?scientific?format?for?the?specified?locale.
*/
/*public*/?static?NumberFormat?getScientificInstance(Locale?inLocale)?{
return?getInstance(inLocale,?SCIENTIFICSTYLE);
}
所以,這里可以指定任何一個(gè)國(guó)家的顯示方式,比如美國(guó),德國(guó),中國(guó),寫(xiě)法例如NumberFormat?numberFormat?=?NumberFormat.getCurrencyInstance(Locale.CHINA);
numberFormat.setMinimumFractionDigits(0);
numberFormat.format(price);
除了NumberFormat,還有用的很多的Decimalformat?,Decimalformat是NunberFormat的子類(lèi)
總結(jié)
以上是生活随笔為你收集整理的numberformat java_【Java】java.text.NumberFormat 工具类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win10没有windows无线服务器,
- 下一篇: C++三路比较运算符