【问题标题】:PrimeFaces spinner with fixed number of digits具有固定位数的 PrimeFaces 微调器
【发布时间】:2012-12-15 20:10:47
【问题描述】:

我无法很好地显示具有固定位数的p:spinner 数字:

<p:spinner value="#{myBean.myValue}" stepFactor="0.1">

myValue 是双重的。 在第三次向上单击时,显示的数字是 0.30000000000000004 而不是 0.3。我知道这是正常的浮点行为,但我找不到很好地显示数字的方法。

我尝试过使用初始化为“0.0”的BigDecimal 而不是双精度。相同的行为。

最后我尝试了一个默认转换器,假设情况太琐碎,不需要自定义转换器:

<p:spinner value="#{myBean.myValue}" stepFactor="0.1" >
    <f:convertNumber maxFractionDigits="1" />
</p:spinner>

同样的效果。

【问题讨论】:

  • p:spinner 增加/减少纯粹的客户端(使用 JS),因此任何服务器端尝试修复它都不会产生任何效果。我建议将其作为错误报告给 PF 家伙。
  • @BalusC,感谢您的提示。举报here
  • 我相信问题可以通过微调器中的 maxDecimalNumber='1' 得到缓解(没有真正解决)
  • @skegg99,哪个 PF 版本?我在 3.4 中找不到任何组件的 maxDecimalNumber 属性(这是我正在使用的版本)
  • @perissf 不确定,很长时间没有使用 primefaces。但是这个线程表明这种解决方法可能会有所帮助forum.primefaces.org/viewtopic.php?f=3&t=23616&start=10

标签: jsf primefaces facelets


【解决方案1】:

这是 PrimeFaces 中的一个错误(特别是在其客户端 Javasript 中)。它被记录为issue 4535 并在版本 3.5.2 和 4.0 中修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 2013-09-10
    • 2012-06-20
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    相关资源
    最近更新 更多