Java數(shù)據(jù)格式化問題

1.時間類型格式化


1-1.Date(日期)

? ? ? ? Date類是一個非抽象類乞娄,也就是具體類衅码,那么就可以將其實例化咧最,實例化會使用系統(tǒng)的當(dāng)前日期和時間創(chuàng)建一個日期對象翩腐,這個時間通常被稱為Java 虛擬機(JVM)主機環(huán)境的系統(tǒng)時間慈鸠,通過Date類的get方法可以拿到我們想要的具體數(shù)據(jù)蓝谨,也可以通過set方法來設(shè)置特定的時間和日期。要注意的是通過get方法拿到的某些值是與1999年01月01日0時0分的相對值青团。比如現(xiàn)在如果是2016年譬巫,那么下圖代碼的輸出為116。

圖(1)

? ? ? ? 我們可以發(fā)現(xiàn)這個getYear()方法上有一個橫線督笆,其實Date的好多方法都是如此缕题,原因是不被推薦使用,而被推薦的是使用Calendar類來達到相關(guān)的目的胖腾。

1-2.Calendar(日歷)

? ? ? ? Calendar類是一個抽象類烟零,通常通過getInstance()方法得到一個當(dāng)前時區(qū),當(dāng)前語言設(shè)置下的實例咸作。

Calendar cal = Calendar.getInstance();

int year = cal.get(Calendar.YEAR);

int month = cal.get(Calendar.MONTH);

? ? ? ? ?現(xiàn)在是2016年12月锨阿,那么year的值為2016,month的值為11(一月是0)记罚。

? ? ? ? ?我們也可以通過其set方法設(shè)置我們想要的時間和日期墅诡。要注意的是通過Date類和Calendar類的set方法設(shè)置日期時間后,再通過get方法拿到的是我們設(shè)置的時間和日期桐智。

圖(2)

? ? ? ? ?圖(2)year和month的值為2015和5(6月)末早。

1-3.DateFormat(日期格式)

? ? ? ? DateFormat類也是一個抽象類,通常使用其具體子類SimpleDateFormat來對日期類型(Date類型)進行格式化说庭,使用其構(gòu)造方法實例化一個SimpleDateFormat然磷,并給出想要的格式就可以對Date類型進行格式化了。

圖(3)

Sun Dec 04 13:25:14 CST 2016

2016-12-04 13:25:14

2.數(shù)字格式化和精度


2-1.使用NumberFormat

? ? ? ?NumberFormat.getInstance()方法返回NumberFormat的一個實例(實際上是NumberFormat具體的一個子類刊驴,例如DecimalFormat),? 這適合根據(jù)本地設(shè)置格式化一個數(shù)字姿搜」讶螅可以使用非缺省的地區(qū)設(shè)置,例如德國舅柜。然后格式化方法根據(jù)特定的地區(qū)規(guī)則格式化數(shù)字梭纹。

NumberFormat nf =NumberFormat.getInstance(Locale.CHINA);

nf.format(1234567.12345)

? ? ? ? 如果將這個值輸出,則為123,456.123致份,默認(rèn)四舍五入保留三位小數(shù)变抽。顯然這種方法不好用且有一定的缺陷。

2-2.使用DecimalFormat

? ? ? ? DecimalFormat是一個具體類氮块,用法和SimpleDateFormat相似绍载,通過其構(gòu)造方法實例化,并給出想要的格式雇锡。

2-2-1.格式化數(shù)字

DecimalFormat df0 = new DecimalFormat();

System.out.println(df0.format(123456));

因為本地是中國逛钻,則輸出為123,456,可以設(shè)置不同的國家锰提,來得到相應(yīng)的格式曙痘。

Locale.setDefault(Locale.GERMAN);

DecimalFormat df0 = new DecimalFormat();

System.out.println(df0.format(123456));

設(shè)置為德國風(fēng)格,則輸出為123.456立肘。(中國的為一撇边坤,德國的為一點)

2-2-2.數(shù)字精度

DecimalFormat? df1? =? new? DecimalFormat(".000");

System.out.println(df1.format(1234.56));

輸出為1234.560。也可以使用像"####.000"的符號谅年。這個模式意味著在小數(shù)點前有四個數(shù)字茧痒,如果不夠就空著,小數(shù)點后有三位數(shù)字融蹂,不足用0補齊旺订。

DecimalFormat df0 = new DecimalFormat();

DecimalFormat df1 = new DecimalFormat(".00");

String i = df1.format(123456.12345);

System.out.println(i);

System.out.println(df0.format(Double.parseDouble(i)));

輸出分別為:123456.12

? ? ? ? ? ? ? ? ? ? ? 123,456.12

2-2-3.科學(xué)計數(shù)法

DecimalFormat? df? =? new? DecimalFormat("0.00E0");

System.out.println(df.format(1234000000000000.56));

輸出為:1.23E15。

NumberFormat nf = NumberFormat.getPercentInstance();

System.out.println(nf.format(0.45022));

輸出為:45%超燃。

NumberFormat nf = NumberFormat.getPercentInstance();

nf.setMinimumFractionDigits(2);

System.out.println(nf.format(0.45022));

輸出為:45.02%区拳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市意乓,隨后出現(xiàn)的幾起案子樱调,更是在濱河造成了極大的恐慌,老刑警劉巖届良,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笆凌,死亡現(xiàn)場離奇詭異,居然都是意外死亡士葫,警方通過查閱死者的電腦和手機乞而,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來为障,“玉大人晦闰,你說我怎么就攤上這事放祟△⒃梗” “怎么了呻右?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鞋喇。 經(jīng)常有香客問我声滥,道長,這世上最難降的妖魔是什么侦香? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任落塑,我火速辦了婚禮,結(jié)果婚禮上罐韩,老公的妹妹穿的比我還像新娘憾赁。我一直安慰自己,他們只是感情好散吵,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布龙考。 她就那樣靜靜地躺著,像睡著了一般矾睦。 火紅的嫁衣襯著肌膚如雪晦款。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天枚冗,我揣著相機與錄音缓溅,去河邊找鬼。 笑死赁温,一個胖子當(dāng)著我的面吹牛坛怪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播股囊,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼袜匿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了毁涉?” 一聲冷哼從身側(cè)響起沉帮,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贫堰,沒想到半個月后穆壕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡其屏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年喇勋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片偎行。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡川背,死狀恐怖贰拿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情熄云,我是刑警寧澤膨更,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站缴允,受9級特大地震影響荚守,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜练般,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一矗漾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧薄料,春花似錦敞贡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至琳钉,卻和暖如春势木,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背歌懒。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工啦桌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人及皂。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓甫男,卻偏偏與公主長得像,于是被迫代替她去往敵國和親验烧。 傳聞我的和親對象是個殘疾皇子板驳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容