2013-02-26 66 views
6

我試圖讓在這個特定的格式格式化的數字:可以使用JSTL fmt:formatNumber來得到這個輸出:「1 234.56」?

「1 234.56」

因此,兩位小數,用點分隔。並用空格字符(可選單引號)將數千個分組。輸入值永遠不會大於9999.99。

我試過使用這種模式,甚至玩場景,但無濟於事。

+0

據我所知,你不能指定一個模式,在每個第三個字符後打印一個空格。我在CodeRanch上發現了類似的東西,但它不太漂亮:http://www.coderanch.com/t/292958/JSP/java/fmt-formatNumber-grouping-separator。也許它有幫助 – 2013-02-26 15:23:01

回答

9

這是一種方法。

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 
<c:set var="val" value="9999.99" /> 
<fmt:formatNumber value="${val}" pattern="#,###.##" var="pat" /> 
${fn:replace(pat, ",", " ")} 
+0

所以基本上字符串操作可以在JSTL中使用,我沒有意識到這一點。我把它用在我的用例中。謝謝!! 萬一它有助於任何人,我最終做的或多或少是這樣的: $ {fn:replace(pat, 「),」,「。」)} 我用一個撇號作爲千位分隔符... 編輯:黨,我認爲代碼塊在評論中是可能的! – 2013-02-27 10:58:09

相關問題