NumberFormat和DecimalFormat
生活随笔
收集整理的這篇文章主要介紹了
NumberFormat和DecimalFormat
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
##NumberFormat##
調用NumberFormat的工廠方法,如getInstance(),來獲取具體語言環境的NumberFormat(包括默認語言環境)。該類設計有各種功能,使其能夠解析和格式化任意語言環境中的數,包括對西方語言、阿拉伯語和印度語數字的支持。它還支持不同類型的數,包括整數(123)、定點數(123.4)、科學記數法表示的數(1.23E4)、百分數(12%)和金額($123)。所有這些內容都可以本地化。 (通常不直接調用DecimalFormat的構造方法,因為NumberFormat的工廠方法可能返回不同于DecimalFormat的子類。DecimalFormat是NumberFormat的一個具體子類,用于格式化十進制數字。)
/*** 格式化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 補0Log.d(TAG, " numberFormat : number1=" + number1 + ", number2=" + number2);NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.CHINA);String currency1 = currencyFormat.format(321283.47656); // ¥?321,283.48currencyFormat.setMaximumFractionDigits(3);String currency2 = currencyFormat.format(321283.47656); // ¥?321,283.477Log.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.456Log.d(TAG, "Number parse : number1=" + obj1 + ", number2=" + obj2);Number number = percentFormat.parse("32,128,745%");Log.d(TAG, "===" + number.doubleValue()); //321287.45Log.d(TAG, "===" + number.floatValue()); //321287.44Log.d(TAG, "===" + number.intValue()); //321287Log.d(TAG, "===" + number.byteValue()); //7Log.d(TAG, "===" + number.longValue()); //321287##DecimalFormat##
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.4Log.d(TAG,df2.format(12.34)); //12.3Log.d(TAG,df3.format(12.34)); //012.340Log.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/3075436
總結
以上是生活随笔為你收集整理的NumberFormat和DecimalFormat的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL语言基础:SQL授权相关知识笔记
- 下一篇: 设计一个按优先数调度算法实现处理器调度的