-5

私は 100000 という数字を持っています。1,00,000 のように表示する必要があります。Java の文字列操作関数を使用せずにこれを実現するにはどうすればよいですか。前もって感謝します。

4

4 に答える 4

1

Javaで利用可能なNumberFormat実装またはDecimalFormatクラスを使用します。

例えば

DecimalFormat dFormat = new DecimalFormat("#,##,####");
String value = dFormat.format(100000);
System.out.println("Formatted Value="+value);
于 2012-10-17T04:24:50.710 に答える
0

クイックグーグルと私はここからこれを手に入れまし

この機能はJavaScriptに組み込まれていないため、カスタムコードを使用する必要があります。以下は、数値にコンマを追加して文字列を返す1つの方法です。

function addCommas(nStr)
{
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}
于 2012-10-17T04:24:09.570 に答える
0

それを行う最も簡単な方法は次のとおりです。

function addCommas(num) {return (""+num).replace(/\B(?=(?:\d{3})+(?!\d))/g,',');}

任意精度の10進数のサポートを含む、より完全なバージョンについてはnumbar_format、PHPJSを参照してください。

于 2012-10-17T04:25:54.920 に答える
0

それでも興味がある場合は、文字列メソッドのみを使用して長さと文字位置を見つける Java のソリューションを次に示します。

   int counter = 0; 
   int number=123456789;
   String str = Integer.toString(number);
   String finalStr = new String();

   for(int i = str.length()-1; i >= 0; i--){
       counter++;
       if(counter % 3 == 0 && i != 0){
           finalStr = ","+str.charAt(i)+finalStr;
       }
       else{
           finalStr = str.charAt(i)+finalStr;
       }
   }

   System.out.println("Final String: "+finalStr);

値の長さを使用してループ ダウンし、新しい文字列を右から左に構築します。3 つおきの値 (最後の値を除く) で、文字列の前にコンマが追加されます。それ以外の場合は、コンマ間の中間値で文字列を作成し続けます。

したがって、これはコンソールに出力されます:

最終文字列: 123,456,789

于 2012-10-17T04:50:20.710 に答える