与另一个问题有关我发现: 如果我想在JSF中显示两个小数位的BigDecimal.ZERO,那么我必须对我的支持bean中的舍入进行硬编码。因为numberConverter对常量不起作用。
BigDecimal.ZERO.SetScale(2, RoundingMode.HALF_UP); //this works and displays: "0.00"
不幸的是我不能使用依赖于语言环境的小数点显示!在对roundingMode进行硬编码后,我甚至无法使用min / maxFractionDigits更改分数。
<f:convertNumber pattern="..."
对显示无效。
这是一个真正的混乱,有人知道如何在JSF中显示BigDecimal时强制执行模式(不是String!当然我可以使用新的DecimalFormat)。
答案 0 :(得分:0)
如果文本的实际格式很重要 - 例如,您正在处理依赖于语言环境的数据 - 那么您将需要使用格式化程序以特定的“样式”呈现它”。这就是全班的目的。使用setScale()
更改了实例可用的数学精度 - 它对文本显示没有任何影响(或者不应该被提供任何影响)。