0

現在、次の NumberFormatter を使用しています。

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

5.43234234 を 5.4 に変更します。

精度がない場合、NumberFormatter に精度を表示させないようにします。

つまり、数値が 5.0 の場合、5.0 ではなく 5 にフォーマットする必要があります。

どうすればそうできますか?

フレックス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 に答える