fmt:formatNumber如何显示增量(+/-)

Moh*_*uur 3 java formatting jsp jstl

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

  1. .8 => 80%
  2. -.8 => -80%
  3. 1721 => 1,721
  4. 1721 => +1,721
  5. -7876 => -7,876

更新:格式适用于百分比和分组,但它不能很好地将+数字放在数字前面,如下所示:

  1. .8 => +80%
  2. 1721 => +1,721

我怎样才能做到这一点?

Lam*_*bda 6

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

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

更新:您也可以使用此方法:

// if num < 1 && num > -1 (or another logic)
<fmt:formatNumber value="${num}" type="percentage" />
// else
<fmt:formatNumber value="${num}" type="number" groupingUsed="," />
Run Code Online (Sandbox Code Playgroud)

  • 现在正在阅读这个问题的人的更新:格式属性现在是模式,即pattern ="'+'###,###;' - '###,###" (3认同)