NumberFormatter オブジェクトにプロパティを割り当てて、書式設定された値に先頭のゼロ、末尾のゼロ、および小数点以下 2 桁が含まれるようにしました。
フォーマットされている数値が 0 でない限り、フォーマットは機能します。0 が 0.00 になるように、設定されたプロパティで 0 をフォーマットするにはどうすればよいですか?
var numFormat:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT);
numFormat.leadingZero = true;
numFormat.trailingZeros = true;
numFormat.fractionalDigits = 2;
trace(numFormat.formatNumber(46)); //46.00
trace(numFormat.formatNumber(0.556849)); //0.56
trace(numFormat.formatNumber(0)); //0
[編集] 書式設定された数値が 0 の場合、ロケールの小数点記号に目的の小数桁数を手動で追加することで、この問題を解決しました。
if (myFormattedNumber.text == "0" && numFormat.fractionalDigits)
{
myFormattedNumber.appendText(numFormat.decimalSeparator);
for (var i:uint = 0; i < numFormat.fractionalDigits; i++)
myFormattedNumber.appendText("0");
}
これがバグなのか機能なのかを知りたいのですが、見落としのようです。