java、freemarker保留兩位小數(shù)
一、Java保留2位小數(shù)
double acc = 22.4322; String accX = String.format("%.2f", acc);
二、freemarker保留兩位小數(shù)
<#if centerFreeSize??> ${centerFreeSize?string("#.##")} <#else> 0.00 </#if>
補(bǔ)充:freemarker保留小數(shù)
freemarker保留兩位小數(shù)
方法一
#{number ;m1M2}
m 最少幾位小數(shù),M最多幾位小數(shù)
方法二
${x?string("0.##")}
在開發(fā)中很容易忽視一點(diǎn),輸入一個(gè)值(可能是小數(shù)),輸出時(shí)如果不做處理,就很容易出現(xiàn)
隱形的BUG。比如,如果從數(shù)據(jù)庫取出一個(gè)0.22的數(shù)值,一般的輸出${x?if_exists?html}, 這時(shí)是顯示0,而不是0.22。
應(yīng)該寫成${x?if_exists?string.number} 或者 ${x?if_exists.toString()?html}
1, 小于1的數(shù)字在freemarker中相減錯(cuò)誤
2,1000,2000這類的數(shù)字在freemarker中的格式錯(cuò)誤,會(huì)被解釋成1,000
解決方法設(shè)置number在freemarker的顯示格式
Xml代碼
<#setting number_format="0.00"> <#assign x="${goodsgroupt.memberprice}"/> <#assign y="${goodsgroupt.groupprice}"/> ${(x?number-y?number)}
重點(diǎn)就是這個(gè)number_format了
網(wǎng)上說讓number_format="0",這樣只能解決第二種情況。
四、局部設(shè)置
特點(diǎn):
如果在某個(gè)頁面,或者某幾個(gè)頁面(其它頁面可import進(jìn)來),用到的數(shù)字格式化是相同的,可考慮統(tǒng)一配置數(shù)字的格式化形式
用法:
只需在用到需要格式化的數(shù)字之前 設(shè)置就可以了,格式如下: <#setting number_format=",##0.##"> 其中",##0.##"的內(nèi)容是采用類似于Java中數(shù)字格式的語法形式,也就是以上的第三點(diǎn)。
注意:
如果用在一個(gè)頁面,則整個(gè)頁面默認(rèn)就是那種格式,除非用string函數(shù)覆蓋了默認(rèn)的格式,同樣的,如果放在一個(gè)公共的頁面,其它頁面只要include它,也會(huì)是同樣的格式。
五、全局設(shè)置
特點(diǎn):
在所有的頁面都默認(rèn)提供數(shù)字的格式化形式
用法
(針對(duì)spring):在freemarker的配置文件中設(shè)置其默認(rèn)的數(shù)字格式化形式,如下:
代碼如下
< property name = "freemarkerSettings" > < props> ..... < prop key = "number_format"> 0.## </prop > ...... </props> </property>
相關(guān)文章
Java 異步回調(diào)機(jī)制實(shí)例分析
這篇文章主要介紹了Java 異步回調(diào)機(jī)制實(shí)例解析的相關(guān)資料,需要的朋友可以參考下2017-02-02JAVA發(fā)送HTTP請(qǐng)求,返回HTTP響應(yīng)內(nèi)容,應(yīng)用及實(shí)例代碼
這篇文章主要介紹了JAVA發(fā)送HTTP請(qǐng)求,返回HTTP響應(yīng)內(nèi)容,應(yīng)用及實(shí)例代碼,需要的朋友可以參考下2014-02-02idea自帶Jacoco/idea自動(dòng)測試語句覆蓋率方法(使用詳解)
這篇文章主要介紹了idea自帶Jacoco/idea自動(dòng)測試語句覆蓋率方法,本文給大家分享使用方法,通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04使用 Spring Boot 實(shí)現(xiàn) WebSocket實(shí)時(shí)通信
本篇文章主要介紹了使用 Spring Boot 實(shí)現(xiàn) WebSocket實(shí)時(shí)通信,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10springboot controller參數(shù)注入方式
這篇文章主要介紹了springboot controller參數(shù)注入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05