如何控制輸出數(shù)字的格式
在java.text包中提供了這樣的功能。下面首先看一個比較簡單的例子:
對于數(shù)字的格式化的幾個常用的類:
NumberFormat
DecimalFormat
import java.text.*;
import java.util.Locale;
public class FormatTest {
public static void main(String[] args) {
NumberFormatnf=NumberFormat.getInstance(Locale.CHINA);
NumberFormat nf1=NumberFormat.getInstance(Locale.GERMAN);
System.out.println(nf.format(1245.6));
System.out.println(nf1.format(1245.6));
}
}
結(jié)果為1,245.6
1.245,6
通過上面的方法可以將數(shù)字根據(jù)不同的地區(qū)習(xí)慣格式化成不同格式,來符合各個不同習(xí)慣。
上面是對針對國際化時的數(shù)字格式化,下面的例子是控制小數(shù)點顯示的例子:
import java.text.*;
import java.util.Locale;
public class FormatTest {
public static void main(String[] args) {
DecimalFormat df1=newDecimalFormat("####.0000");
System.out.println(df1.format(12.32));
Locale.setDefault(Locale.GERMAN);
DecimalFormat df=new DecimalFormat("0000.0000");
System.out.println(df.format(12.32));
}
}
結(jié)果為
12.3200
0012,3200
如果我想用科學(xué)記數(shù)法的格式來輸出數(shù)字該怎么辦呢??看下面的例子:
import java.text.*;
import java.util.Locale;
public class FormatTest {
public static void main(String[] args) {
DecimalFormat df=new DecimalFormat("0.00E0000");
System.out.print(df.format(125487.326558));
}
}
結(jié)果為
1.25E0005
如何表示百分?jǐn)?shù)呢?請參考下面的代碼:
import java.text.*;
import java.util.Locale;
public class FormatTest {
public static void main(String[] args) {
NumberFormatnf=NumberFormat.getPercentInstance();
System.out.println(nf.format(0.25));
NumberFormat nf2=NumberFormat.getPercentInstance(Locale.GERMAN);
System.out.println(nf2.format(0.25));
}
}
結(jié)果為
25%
25%
以上逐個介紹了幾種不同的數(shù)字格式化方法。似乎應(yīng)該談?wù)勅绾谓馕鲆呀?jīng)被格式化的數(shù)字了。我們?nèi)匀荒7律厦娴姆椒ㄅe一個簡單的例子:
由于被格式化后的數(shù)字都是字符型的,所以注意解析函數(shù)parse里的參數(shù)是String,但是解析后成為Number型
import java.text.*;
import java.util.Locale;
public class FormatTest {
public static void main(String[] args) {
NumberFormat nf=NumberFormat.getInstance();//獲得默認(rèn)的格式
NumberFormat nf2=NumberFormat.getInstance(Locale.GERMAN);//獲得德國格式
try{
System.out.println( nf.parse("1254.25"));
System.out.println(nf2.parse("1245,24"));
}catch(Exception e){
e.printStackTrace();
}
}
}
結(jié)果為
1254.25
1245.24
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=213527