numberformat java_【Java】java.text.NumberFormat 工具类
NumberFormat?表示數字的格式化類, 即:可以按照本地的風格習慣進行數字的顯示。
此類的定義如下:
public abstract class NumberFormat extends Format
MessageFormat?、DateFormat?、NumberFormat?是?Format?三個常用的子類,如果要想進一步完成一個好的國際化程序,則肯定需要同時使用這樣三個類完成,根據不同的國家顯示貸幣的形式。
此類還是在java.text 包中,所以直接導入此包即可。
源碼測試import?java.text.NumberFormat;
public?class?Main?{
public?static?void?main(String[]?args)?{
Double?myNumber?=?23323.3323232323;
Double?test?=?0.3434;
//?getInstance()
//?返回當前缺省語言環境的缺省數值格式。
String?myString?=?NumberFormat.getInstance().format(myNumber);
System.out.println(myString);???//?23,323.332
//?getCurrencyInstance()返回當前缺省語言環境的貨幣格式
myString?=?NumberFormat.getCurrencyInstance().format(myNumber);
System.out.println(myString);???//?¥23,323.33
//?getNumberInstance()?返回當前缺省語言環境的通用數值格式。
myString?=?NumberFormat.getNumberInstance().format(myNumber);
System.out.println(myString);???//?23,323.332
//?getPercentInstance()?返回當前缺省語言環境的百分比格式。
myString?=?NumberFormat.getPercentInstance().format(test);
System.out.println(myString);???//?34%
//?setMaximumFractionDigits(int)?設置數值的小數部分允許的最大位數。
//?setMaximumIntegerDigits(int)??設置數值的整數部分允許的最大位數。
//?setMinimumFractionDigits(int)?設置數值的小數部分允許的最小位數。
//?setMinimumIntegerDigits(int)??設置數值的整數部分允許的最小位數.
NumberFormat?format?=?NumberFormat.getInstance();
format.setMaximumFractionDigits(5);?????//?小數部分允許的最大位數
format.setMinimumFractionDigits(3);?????//?小數部分允許的最小位數
format.setMaximumIntegerDigits(10);?????//?整數部分允許的最大位數
format.setMinimumIntegerDigits(3);??????//?整數部分允許的最小位數
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
}
}
查詢源碼即可一目了然如何設置國際化,部分源碼如下/**
*?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);
}
所以,這里可以指定任何一個國家的顯示方式,比如美國,德國,中國,寫法例如NumberFormat?numberFormat?=?NumberFormat.getCurrencyInstance(Locale.CHINA);
numberFormat.setMinimumFractionDigits(0);
numberFormat.format(price);
除了NumberFormat,還有用的很多的Decimalformat?,Decimalformat是NunberFormat的子類
總結
以上是生活随笔為你收集整理的numberformat java_【Java】java.text.NumberFormat 工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10没有windows无线服务器,
- 下一篇: java美元兑换,(Java实现) 美元