Formatted 값에 선행 0, 후행 0 및 소수 2 자리가 포함되도록 NumberFormatter 객체에 속성을 할당했습니다.ActionScript - NumberFormatter로 0을 포맷 하시겠습니까?
서식이 지정된 숫자가 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 인 경우 i가 수동 fractionalDigits 원하는 번호 로케일 소수 구분을 추가함으로써이 문제를 해결할 한 [EDIT]
if (myFormattedNumber.text == "0" && numFormat.fractionalDigits)
{
myFormattedNumber.appendText(numFormat.decimalSeparator);
for (var i:uint = 0; i < numFormat.fractionalDigits; i++)
myFormattedNumber.appendText("0");
}
I 이것이 버그인지 기능인지 알기에는 여전히 관심이 있지만, 그것은 나에게 보이지 않는 것처럼 보입니다.
코드가 무섭다. 롤. 리턴 된 문자열에 ".00"을 단순히 추가하는 것만으로도됩니다. 이것이 NumberFormatter 클래스의 버그 인 것 같습니다. formatter에 전달 된 값이 0이면 formatNumber(), formatInt() 및 formatUint()가 모두 "0"을 반환합니다. – TheDarkIn1978
하하, 확실히 섹시하지 않습니다. 그것은 통화 서식, 특히 미국 이외의 서식에 사용되었습니다. – TNC
'.00'을 붙이기 만해도 일부 설정을 변경하면 원하는대로 수행되지 않을 수 있습니다. 또한 0은 Flash Player 11에서 0.00을 반환하므로 아무 것도하지 않아도됩니다. –