好吧,讓我們假設如下:我有一個表格:我輸入值123,123456789並保存。在 上面的代碼在另一頁上的值顯示爲 123,123456789。但是當我再次打開窗體編輯該值時, 輸入字段將其顯示爲123,123,但不顯示123,123456789。那麼,我假設 maxFractionDigits的默認值是3?
一個很簡單的例子:
<h:form>
<div>
<h:outputText value="#{of:formatNumber(testBean.myNumber, '0.000#######')}" />
</div>
<div>
<h:inputText value="#{testBean.myNumber}" >
<f:convertNumber groupingUsed="false" pattern='0.000#######' />
</h:inputText>
</div>
<h:commandButton type="submit" value="Submit" />
</h:form>
和bean代碼:
private BigDecimal myNumber = new BigDecimal("355.3456");
public BigDecimal getMyNumber() {
return myNumber;
}
public void setMyNumber(BigDecimal myNumber) {
this.myNumber = myNumber;
}
幾個測試:
一個頁面看起來像是低於第一GET請求後:
現在我在12345.6789099
類型和Submit
按鈕後,已被點擊:
一些其他的例子:
我不知道如果我理解你的問題很好 - 只要使用''#.000 ####### '格式爲始終顯示3個小數位(即使它們爲0),並且最多可達10個小數位數乳清不爲0.例如: '將顯示:'123,123456789'和這一個:' '會顯示:'123,400' –
krokodilko
啊好吧,謝謝。這對於顯示值是正常工作的。 :) 另一個問題是關於編輯該值,例如對於值123,123456789,h:輸入顯示的是'123,123'而不是'真實'的值。 – J4y
好的,有這個屬性'maxFractionDigits',我也可以設置爲'10'。但是沒有辦法在'h:input'中顯示值,因爲它來自數據庫,但是作爲本地化的數字? – J4y