我想使用 fmt:formatNumber 来显示以下内容:

  • .8 => 80%
  • -.8 => -80%
  • 1721 => 1,721
  • 1721 => +1,721
  • -7876 => -7,876

  • 更新:该格式非常适用于百分比和分组,但它不适用于将 + 放在数字前面,如下所示:
  • .8 => +80%
  • 1721 => +1,721

  • 我怎样才能做到这一点?

    最佳答案

    您可以使用 % 模式“乘以 100 并显示为百分比”。我认为在你的情况下,你需要这样的东西:

    // if num < 1 && num > -1 (or another logic)
    <fmt:formatNumber value="${num}" format="%" />
    // else
    <fmt:formatNumber value="${num}" format="'+'###,###;'-'###,###" /> // show sign
    

    更新:您也可以使用此方法:
    // if num < 1 && num > -1 (or another logic)
    <fmt:formatNumber value="${num}" type="percentage" />
    // else
    <fmt:formatNumber value="${num}" type="number" groupingUsed="," />
    

    关于java - fmt :formatNumber how to display deltas (+/-),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7655566/

    10-12 06:16