最近在做一個數字顯示效果:每三個數字加一個逗号,并且保留兩位小數。
如:332,630.00 195,717.00 使用的代碼是:
public static String format2Decimal(float data) {
DecimalFormat df = new DecimalFormat("#,###.00");
return df.format(data);
}
但是在實作數字“0.00”的時候,變成了“.00”,“0.12”變成了“.12”,這樣就不是我要的效果了。
查閱了資料後發現,DecimalFormat 類主要靠 # 和 0 兩種占位符号來指定數字長度。
0 表示如果位數不足則以 0 填充,# 表示隻要有可能就把數字拉上這個位置。
這樣我就想到了一個方法,把整數最後一位“#”改為“0”,嘗試性修改了一下代碼,結果完成了我要的效果。代碼如下:
/**
* 将float類型的資料轉換成以3位逗号隔開的字元串,并且保留兩位小數
*
* @return
*/
public static String format2Decimal(float data) {
DecimalFormat df = new DecimalFormat("#,##0.00");
return df.format(data);
}
/**
* 将float類型的資料轉換成以3位逗号隔開的字元串,并且保留一位小數
*
* @return
*/
public static String format1Decimal(float data) {
DecimalFormat df = new DecimalFormat("#,##0.0");
return df.format(data);
}
/**
* 将float類型的資料轉換成以3位逗号隔開的字元串,并且保留整數
*
* @return
*/
public static String format0Decimal(float data) {
DecimalFormat df = new DecimalFormat("#,##0");
return df.format(data);
}
好了,希望對大家有所幫助。