${4511.25?string("#.#")} 這個表達式的結(jié)果為4511.2;并不是傳統(tǒng)的四舍五入規(guī)則;正確的應(yīng)該是下面這個表達式:
${4511.25?string("#.#;;roundingMode=halfUp")} 這個表達式的結(jié)果為4511.3。
而 ${4511.35?string("#.#")} 這個表達式的結(jié)果是4511.4
FreeMarker默認的規(guī)則是5可能進位也可能不進位,取決于進位后前面一位是否為偶數(shù),如果是則進位,否則不進位。
在String函數(shù)中加入roundingMode=halfUp并與前面表達式用";;"隔開;也就是類似于string("#.#;;roundingMode=halfUp")這種形式可以實現(xiàn)四舍五入。
官方文檔:https://freemarker.apache.org/docs/ref_builtins_number.html
上述文檔來源:https://blog.csdn.net/bingxing163/article/details/97784845
在String函數(shù)中加入roundingMode=halfDown并與前面表達式用";;"隔開;也就是類似于string("#.#;;roundingMode=halfDown")這種形式可以實現(xiàn)去尾保留兩位小數(shù)。
例如 .ftl頁面中<#if totalMoney??>${totalMoney?string("#,##0.00;;roundingMode=halfDown")}</#if>實現(xiàn)每三位用逗號隔開,保留兩位小數(shù)不進行四舍五入。
浙公網(wǎng)安備 33010602011771號