2011-11-27 47 views
1

我從數據庫中獲取BigDecimal值。它等於'0E-10'。當它傳遞給一個自由標記時,該值被包裝爲0.如何在Freemarker中使用Java BigDecimal?

我已經試圖在算術引擎上作爲BigDecimal開關,但它沒有用處。

+0

也許轉儲的問題,但什麼是0E-10和0之間的實際差異(即,除了內部表示)?他們都是平等零,不是嗎? FreeMarker的區別在哪裏,它的輸出到底是什麼問題?無論如何,我相當肯定'ObjectWrapper'原樣包裝了原來的'BigDecimals',所以如果它被存儲爲0E-10,那麼它仍然如此。但是,Java的數字格式化器可能只是將它呈現爲0,它就是這樣。 – ddekany

回答

0

你的意思是你總是打印出科學記數法嗎?您可以使用$ {variable?string(「0。## E0」)}在Freemarker中執行此操作。除非您告訴它特定的格式,否則Freemarker會自動將東西轉換爲用戶友好的字符串。