2015年2月11日

【Java】DecimalFormat數字格式轉換 - 金額逗號格式與小數點進位數

各位JavaAndroid開發者大家好!

今天小黑人要與大家分享的文章內容是"數字格式轉換",舉一個簡單的例子來說就是一串數字ex.12345要當作金額或金錢的類型來快速檢視時就會轉換成12,345,這種每三位數(單位千)加入逗號算是國際通用的金額格式,也就是將原本單純的數字轉換成金額格式;接下來還有小數點位數的設定,例如像小數點取兩位等,簡單的數字格式轉換會方便使用者閱讀與理解,那該怎麼優化這些小細節呢?就讓我們繼續看下去吧!


1. 好,首先要做數字格式轉換只需要在Activity(.java)裡判斷執行即可,不需要變更到AndroidManifest.xmlLayout(.xml)

2.
接下來我們就開始實作吧,小黑人將程式碼分成兩部份來運用,各別是金額格式轉換與小數點位數設定,兩種方法實作如下 :

A.
數字轉換成金額格式.

//
運用DecimalFormat制定好金額顯示格式,每三位數顯示逗號
DecimalFormat mDecimalFormat = new DecimalFormat("#,###");

//
如果數字型態為int
int mNumber = 12345;
//
format裡轉型成double
String text = mDecimalFormat.format((double)mNumber);
/**
* text
印出結果為 : 12,345
*/

//
如果數字型態為String
String mNumber = "12345";
//
format裡轉型成double
String text = mDecimalFormat.format(Double.parseDouble(mNumber));
/**
* text
印出結果為 : 12,345
*/


B.
小數點位數設定.

//
運用DecimalFormat制定好小數點位數,設定顯示到小數點兩位
DecimalFormat mDecimalFormat = new DecimalFormat("#.##");

//
如果數字型態為String
String mNumber = "1.2345";
//
format裡轉型成double
String text = mDecimalFormat.format(Double.parseDouble(mNumber));
/**
* text
印出結果為 : 1.23
*/


C.
當然也可以前兩者共同設定,數字轉換成金額格式且顯示到小數點兩位.

//
運用DecimalFormat制定好金額顯示格式與小數點位數
DecimalFormat mDecimalFormat = new DecimalFormat("#,###.##");

//
如果數字型態為String
String mNumber = "12345.6789";
//
format裡轉型成double
String text = mDecimalFormat.format(Double.parseDouble(mNumber));
/**
* text
印出結果為 : 12,345.67
*/


以上簡單的步驟就可以針對數字進行格式轉換,金額格式與小數點位數看似很平凡卻會常常忽略,小小的細節優化可以讓使用者有很大的體驗喔,大家可以試試看!

謝謝大家,如有任何問題都可以和小黑人一起交流討論!

☆小黑人☆

1 則留言:

謝謝大家支持,有任何問題都可以和小黑人一起討論!