4

そのため、ステージ (stage_clickCounter) に動的テキスト フィールドがあり、このボタンをクリックするたびに、変数 clickCounter が 1 ずつ増加します。

このコードを使用して、画面に数字を表示しています。

stage_clickCounter.text = numberOfClicks.toString();

数値は問題なく表示されますが、1,000 クリックに達すると、コンマなしで表示されます

1000//shows this on dynamic text field
1,000//would much rather prefer this

これどうやってするの?数字と句読点は既にフォントに埋め込まれています。

4

2 に答える 2

4

正の整数の場合:

function addComma(num:uint):String{
    if(num == 0) {
        return "0";
    }
    var str:String="";
    while(num>0){
        var tmp:uint=num%1000;
        str=(num>999?","+(tmp<100?(tmp<10?"00":"0"):""):"")+tmp+str;
        num=num/1000;
    }
    return str;
}

使用法:

trace(addComma(1000999333)); //output:1,000,999,333

編集:

負の整数と正の整数の場合:

function addComma(num:int):String{
    if(num == 0) {
        return "0";
    }
    var str:String="";
    var sign:String=num>0?"":"-";
    num=Math.abs(num);
    while(num>0){
        var tmp:int=num%1000;
        str=(num>999?","+(tmp<100?(tmp<10?"00":"0"):""):"")+tmp+str;
        num=num/1000;
    }
    return sign+str;
}
于 2013-09-26T18:00:59.937 に答える