2

什么是pe:inputNumber用于精确大小数的正确/最佳方法?我必须接受最多可以有 4 位小数的货币输入,并且不能四舍五入。现在我正在做以下事情:

public void withdraw(Number amount) {
 BigDecimal d = new BigDecimal(amount.doubleValue());
 // process 
}

<pe:inputNumber roundMethod="S" decimalPlaces="4" symbol="#{applicationBean.currentCurrencySymbol}" required="true" value="#{flowScope.Amount}"/>

<p:commandButton value="Proceed" type="submit" ajax="true" actionListener="#{myBean.withdraw(flowScope.Amount)}"
</p:commandButton>

我担心的是值会在内部转换为Double内部转换InputNumber,当我将其转换为BigDecimal.

4

1 回答 1

1

PrimeFaces ExtensionsInputNumber不久前已移至 PrimeFaces。渲染器的源是开放的。在那里您会发现提交的值直接用于实例化 aBigDecimal

BigDecimal value = new BigDecimal(submittedValue);

另请参阅带有示例的展示柜BigDecimalhttps ://www.primefaces.org/showcase/ui/input/inputNumber.xhtml

于 2021-06-06T08:47:42.817 回答