##NumberFormat##html
調用NumberFormat的工廠方法,如getInstance(),來獲取具體語言環境的NumberFormat(包括默認語言環境)。該類設計有各類功能,使其可以解析和格式化任意語言環境中的數,包括對西方語言、阿拉伯語和印度語數字的支持。它還支持不一樣類型的數,包括整數(123)、定點數(123.4)、科學記數法表示的數(1.23E4)、百分數(12%)和金額($123)。全部這些內容均可以本地化。 (一般不直接調用DecimalFormat的構造方法,由於NumberFormat的工廠方法可能返回不一樣於DecimalFormat的子類。DecimalFormat是NumberFormat的一個具體子類,用於格式化十進制數字。)java
/** * 格式化format * */ NumberFormat numberFormat = NumberFormat.getNumberInstance(Locale.US); numberFormat.setMaximumIntegerDigits(5); // 整數部分最大位數 numberFormat.setMinimumIntegerDigits(3); // 整數部分最小位數 numberFormat.setMaximumFractionDigits(5); // 小數部分最大位數 numberFormat.setMinimumFractionDigits(3); // 小數部分最小位數 String number1 = numberFormat.format(1234567.1234567); // 34,567.12346 四捨五入 String number2 = numberFormat.format(12.12); // 012.120 補0 Log.d(TAG, " numberFormat : number1=" + number1 + ", number2=" + number2); NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.CHINA); String currency1 = currencyFormat.format(321283.47656); // ¥ 321,283.48 currencyFormat.setMaximumFractionDigits(3); String currency2 = currencyFormat.format(321283.47656); // ¥ 321,283.477 Log.d(TAG, " currencyFormat : number1=" + currency1 + ", number2=" + currency2); NumberFormat percentFormat = NumberFormat.getPercentInstance(Locale.US); String percent1 = percentFormat.format(321283.47656); //32,128,348% Log.d(TAG, " percentFormat : number1=" + percent1 + ", number2=" + percent1); /** * 解析parse * */ NumberFormat nf1 = NumberFormat.getInstance(Locale.US); Object obj1 = nf1.parse("123,456"); NumberFormat nf2 = NumberFormat.getInstance(Locale.GERMAN); // 德國 Object obj2 = nf2.parse("123,456"); //Number parse : number1=123456, number2=123.456 Log.d(TAG, "Number parse : number1=" + obj1 + ", number2=" + obj2); Number number = percentFormat.parse("32,128,745%"); Log.d(TAG, "===" + number.doubleValue()); //321287.45 Log.d(TAG, "===" + number.floatValue()); //321287.44 Log.d(TAG, "===" + number.intValue()); //321287 Log.d(TAG, "===" + number.byteValue()); //7 Log.d(TAG, "===" + number.longValue()); //321287
##DecimalFormat##android
DecimalFormat df1 = new DecimalFormat("0.0"); DecimalFormat df2 = new DecimalFormat("#.#"); DecimalFormat df3 = new DecimalFormat("000.000"); DecimalFormat df4 = new DecimalFormat("###.###"); Log.d(TAG,df1.format(12.35)); //12.4 Log.d(TAG,df2.format(12.34)); //12.3 Log.d(TAG,df3.format(12.34)); //012.340 Log.d(TAG,df4.format(12.34)); //2.34
參考: 官方文檔 https://developer.android.com/reference/java/text/DecimalFormat.html DecimalFormat()格式化輸出數字 http://blog.sina.com.cn/s/blog_8b7a1553010172ex.html java保留兩位小數 http://blog.csdn.net/yuhua3272004/article/details/3075436git