我們經(jīng)常要將數(shù)字進(jìn)行格式化,比如取2位小數(shù),這是最常見的。Java 提供DecimalFormat類,幫你用最快的速度將數(shù)字格式化為你需要的樣子。下面是一個(gè)例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
importjava.text.DecimalFormat; public class TestNumberFormat{ public static void main(String[]args){ doublepi= 3.1415927 ; //圓周率 //取一位整數(shù) System.out.println(newDecimalFormat( "0" ).format(pi)); //3 //取一位整數(shù)和兩位小數(shù) System.out.println(newDecimalFormat( "0.00" ).format(pi)); //3.14 //取兩位整數(shù)和三位小數(shù),整數(shù)不足部分以0填補(bǔ)。 System.out.println( new DecimalFormat( "00.000" ).format(pi)); // 03.142 //取所有整數(shù)部分 System.out.println(newDecimalFormat( "#" ).format(pi)); //3 //以百分比方式計(jì)數(shù),并取兩位小數(shù) System.out.println( new DecimalFormat( "#.##%" ).format(pi)); //314.16% longc= 299792458 ; //光速 //顯示為科學(xué)計(jì)數(shù)法,并取五位小數(shù) System.out.println(newDecimalFormat( "#.#####E0" ).format(c)); //2.99792E8 //顯示為兩位整數(shù)的科學(xué)計(jì)數(shù)法,并取四位小數(shù) System.out.println(newDecimalFormat( "00.####E0" ).format(c)); //29.9792E7 //每三位以逗號(hào)進(jìn)行分隔。 System.out.println(newDecimalFormat( ",###" ).format(c)); //299,792,458 //將格式嵌入文本 System.out.println(newDecimalFormat( "光速大小為每秒,###米。" ).format(c)); } } |
DecimalFormat 類主要靠 # 和 0 兩種占位符號(hào)來指定數(shù)字長度。0 表示如果位數(shù)不足則以 0 填充,# 表示只要有可能就把數(shù)字拉上這個(gè)位置。上面的例子包含了差不多所有的基本用法,如果你想了解更多,請參考 DecimalFormat 類的文檔。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/u013456370/article/details/52688836