0

目前我使用以下 NumberFormatter:

<mx:NumberFormatter id="numberFormatter" precision="1" useThousandsSeparator="true"  />

所以它将 5.43234234 更改为 5.4。

如果没有,我希望 NumberFormatter 不显示任何精度。

这意味着如果数字是 5.0,我希望它格式化为 5,而不是 5.0。

我该怎么做?

使用弹性 4.1

谢谢

4

2 回答 2

2

我认为你需要集成你自己的动作脚本代码,你不能只用一个 MXML 标签来做到这一点。就像是:

private function toPrecisionOrRound(number:Number, precision:int):String {
  String result = number.toPrecision(int);
  String rounded = number.toFixed(0);
  if (Number(result) == Number(rounded)) {
    // they are equal so the toPrecision must have zeros at end
    return rounded;
  } else {
    return result;
  }
}

我没有运行它,但我认为它会起作用。

于 2010-09-29T12:45:42.997 回答
1

或者您可以使用此函数包装输出:

private function clearTrailingZero(valueString:String):String {
    return valeString.replace(/\.0/, "");
}
于 2011-06-20T13:17:26.813 回答