2012-06-15 37 views
3

我在我的JSP頁面這種奇怪的行爲:JSP EL DIV運營商 - 奇怪的行爲

我有兩個整型變量countsize

當我打印這些變量到頁面的值我得到

266 100 

但是當我使用${count div size}${count/size}我越來越2.66

我檢查了這兩個都是Integer s,我也把它們放到模型中,然後在JSP中檢索(根據這個answer)並將類名打印到JSP,它們是整數。

我知道,我可以寫自定義函數,但爲什麼當這應該工作?

回答

2

針對您的特殊情況下,兩個操作數應在操作前被強制到Double的EL規格任務應用。

+0

我不知道爲什麼這個案例是特定的,但你是對的我在1.7.2章找到[here](http://jsp.java.net/spec/jsp-2_1-fr-spec-el.pdf) ,**否則,強制A和B都加倍並應用運算符**,真是奇怪,在mod運算符Long中被使用。 – Betlista

1

嘗試<fmt:formatNumber value="${..} maxFractionDigits="0" />

+0

你是對的,這是有效的,任何想法爲什麼它表現爲雙重價值? – Betlista