DecimalFormat數(shù)字格式化用法詳解
DecimalFormat 是 NumberFormat 的一個(gè)具體子類(lèi),用于格式化十進(jìn)制數(shù)字。
DecimalFormat 包含一個(gè)模式 和一組符號(hào)
符號(hào)含義:
下列字符用在非本地化的模式中。已本地化的模式使用從此 formatter 的 DecimalFormatSymbols 對(duì)象中獲得的相應(yīng)字符,這些字符已失去其特殊狀態(tài)。兩種例外是貨幣符號(hào)和引號(hào),不將其本地化。
import java.text.DecimalFormat; public class TestDecimalFormat { public static void main(String[] args) { DecimalFormat df = new DecimalFormat(); double data = 1203.405607809; System.out.println("格式化之前:" + data); String pattern = "0.0";//1203.4 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); // 可以在模式后加上自己想要的任何字符,比如單位 pattern = "00000000.000kg";//00001203.406kg df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); //#表示如果存在就顯示字符,如果不存在就不顯示,只能用在模式的兩頭 pattern = "##000.000kg";//1203.406kg df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); //-表示輸出為負(fù)數(shù),必須放在最前面 pattern = "-000.000";//-1203.406 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); //,是分組分隔符 :輸出結(jié)果12,03.41 pattern = "-0,00.0#";//-12,03.41 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); //E表示輸出為指數(shù),”E“之前的字符串是底數(shù)的格式,之后的是指數(shù)的格式。 pattern = "0.00E000";//1.20E003 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); //%表示乘以100并顯示為百分?jǐn)?shù),要放在最后 pattern = "0.00%";//120340.56% df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); //"\u2030"表示乘以1000并顯示為千分?jǐn)?shù),要放在最后 pattern = "0.00\u2030";//203405.61‰ df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); //"\u00A4"貨幣符號(hào),要放在兩端*****1203.41¥ pattern = "0.00\u00A4";//1203.41¥ df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); //'用于在前綴或或后綴中為特殊字符加引號(hào),要?jiǎng)?chuàng)建單引號(hào)本身,請(qǐng)連續(xù)使用兩個(gè)單引號(hào):"# o''clock"。 pattern = "'#'#" ;//#1203 // pattern = "'#'" ;//#1203 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); pattern = "# o''clock" ;//1203 o'clock df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); //''放在中間或后面單引號(hào)就顯示在最后,放在最前面單引號(hào)就顯示在最前 // pattern = "# o''clock.000" ;//1203.406 o'clock // pattern = "# .000o''clock";//1203.406 o'clock // pattern = "# .000''";//1203.406 ' // pattern = "# .''000";//1203.406 ' pattern = "''# .000";//'1203.406 df.applyPattern(pattern); System.out.println("采用" + pattern + "模式格式化后:" + df.format(data)); } }
輸出結(jié)果為:
格式化之前:1203.405607809 采用0.0模式格式化后:1203.4 采用00000000.000kg模式格式化后:00001203.406kg 采用##000.000kg模式格式化后:1203.406kg 采用-000.000模式格式化后:-1203.406 采用-0,00.0#模式格式化后:-12,03.41 采用0.00E000模式格式化后:1.20E003 采用0.00%模式格式化后:120340.56% 采用0.00‰模式格式化后:1203405.61‰ 采用0.00¤模式格式化后:1203.41¥ 采用'#'#模式格式化后:#1203 采用# o''clock模式格式化后:1203 o'clock 采用''# .000模式格式化后:'1203.406
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java NumberFormat 類(lèi)的詳解及實(shí)例
- Java NumberFormat格式化float類(lèi)型的bug
- java格式化數(shù)字操作 NumberFormat及DecimalFormat
- Java中DecimalFormat用法詳解
- DecimalFormat多種用法詳解
- java中DecimalFormat四舍五入用法詳解
- java 使用DecimalFormat進(jìn)行數(shù)字的格式化實(shí)例詳解
- java DecimalFormat常用方法詳解
- Java數(shù)字格式類(lèi)(NumberFormat類(lèi)和DecimalFormat類(lèi))用法詳解
相關(guān)文章
java中實(shí)體類(lèi)轉(zhuǎn)Json的2種方法
本篇文章中主要介紹了java中實(shí)體類(lèi)轉(zhuǎn)Json的2種方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。2017-01-01MybatisPlus特殊查詢(xún)的實(shí)現(xiàn)介紹
這篇文章主要介紹了MybatisPlus查詢(xún)投影、聚合查詢(xún)、分組查詢(xún)、等值查詢(xún)、范圍查詢(xún)、模糊查詢(xún)、排序查詢(xún),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-10-10java學(xué)習(xí)筆記之eclipse+tomcat 配置
俗話(huà)說(shuō):工欲善其事必先利其器,既然要學(xué)習(xí)java,首先把java的開(kāi)發(fā)環(huán)境搗鼓一下吧,這里我們來(lái)談?wù)別clipse+tomcat的配置方法。2014-11-11Java中的任務(wù)調(diào)度框架quartz詳細(xì)解析
這篇文章主要介紹了Java中的任務(wù)調(diào)度框架quartz詳細(xì)解析,Quartz 是一個(gè)完全由 Java 編寫(xiě)的開(kāi)源作業(yè)調(diào)度框架,為在 Java 應(yīng)用程序中進(jìn)行作業(yè)調(diào)度提供了簡(jiǎn)單卻強(qiáng)大的機(jī)制,需要的朋友可以參考下2023-11-11java中實(shí)體類(lèi)實(shí)現(xiàn)時(shí)間日期自動(dòng)轉(zhuǎn)換方式
這篇文章主要介紹了java中實(shí)體類(lèi)實(shí)現(xiàn)時(shí)間日期自動(dòng)轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06mybatis如何封裝List<String>類(lèi)型屬性
這篇文章主要介紹了mybatis如何封裝List<String>類(lèi)型屬性問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Java線(xiàn)程本地變量導(dǎo)致的緩存問(wèn)題解決方法
使用緩存可以緩解大流量壓力,顯著提高程序的性能,我們?cè)谑褂镁彺嫦到y(tǒng)時(shí),尤其是大并發(fā)情況下,經(jīng)常會(huì)遇到一些疑難雜癥,這篇文章主要給大家介紹了關(guān)于Java線(xiàn)程本地變量導(dǎo)致的緩存問(wèn)題的解決方法,需要的朋友可以參考下,2024-08-08