[java] 数千のコンマで文字列に変換する



Answers

あなたは最も素早く求めますが、おそらくあなたは「最高」か「正しい」か「典型的」を意味しますか?

あなたはまた、何千ということを示すためにコンマを要求しますが、おそらく "あなたのユーザーの地元の習慣に従った人間が読める形式で普通の意味で"を意味しますか?

あなたはそうする:

    int i = 35634646;
    String s = NumberFormat.getIntegerInstance().format(i);

アメリカ人は "35,634,646"

ドイツ人は "35.634.646"

スイスのドイツ人は "35'634'646"

Question

Integer 35634646を1000に変換したいので、35,634,646にする必要があります。

それを行うための最も速い方法は何でしょうか?




他の答えは正しいですが、 "%,d"を使用する前にあなたのロケールを再確認してください:

Locale.setDefault(Locale.US);
int bigNumber = 35634646;
String formattedNumber = String.format("%,d", bigNumber);
System.out.println(formattedNumber);

Locale.setDefault(new Locale("pl", "PL"));
formattedNumber = String.format("%,d", bigNumber);
System.out.println(formattedNumber);

結果:

35,634,646
35 634 646



あなたは

System.out.printf("%n%,d",int name);

printfのカンマは、カンマを%d interに追加する必要があります。

それについて肯定的ではないが、私のために働く。




最初にJSTLタグを含める必要があります: -

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 

ページの始めに




 int value = 35634646;
 DecimalFormat myFormatter = new DecimalFormat("#,###");
 String output = myFormatter.format(value);
 System.out.println(output);

OUTPUT :35,634,646






Related