例如,在JSF託管bean下面給出。JSF頁面上的BigDecimal算術
@ManagedBean
@ViewScoped
public final class Bean implements Serializable {
private BigDecimal price; //Getter only.
private BigDecimal currencyRate; //Getter only.
private static final long serialVersionUID = 1L;
@PostConstruct
private void init() {
price=new BigDecimal(5678);
currencyRate=new BigDecimal(0.016622);
}
}
的乘法price
和currencyRate
可以<h:outputText>
顯示。
<h:outputText value="#{bean.price * bean.currencyRate}"/>
這是否乘法產量BigDecimal
或者它只是一個double
價值?
換句話說,這相當於以下幾點嗎?
<h:outputText value="#{bean.price.multiply(bean.currencyRate)}"/>
在兩種情況下都顯示94.3797160000000077070825277303356415359303355216979980468750
。
如果當有一個顯示指定數量的小數位數,二舉例如下轉換器是什麼?
<h:outputText value="#{bean.price * bean.currencyRate}"
converter="#{bigDecimalConverter}"/>
無論如何,我希望這樣的表達式的結果是BigDecimal
。
BigDecimal肯定,但它很容易測試自己。 – EJP
我不知道如何測試JSF頁面上的類型。結果在兩種情況下都是一樣的 - '94.3797160000000077070825277303356415359303355216979980468750'。 – Tiny
你*有*只是測試*和*驗證它。如果它是兩倍,你不會得到所有的精度。 – EJP