文字列変数(文字列形式の数値)があり、3桁ごとにコンマを使用して区切ります。どうすればいいですか?私の技術はStruts2です
質問する
2479 次
4 に答える
0
StringBuilder
その方法で使用すると、insert()
これを達成できます。
StringBuilder sb = new StringBuilder("123456987098");
int j = sb.length();
for(int i=3 ; i<j ; i=i+4){
sb.insert(i,",");
}
System.out.println(sb.toString());
于 2012-08-16T06:26:01.120 に答える
0
使用NumberFormat
:
long num = Long.valueOf("1234567890");
String numWithCommas = java.text.NumberFormat.getInstance().format(num);
編集:
上記のコード スニペットでは、デフォルトでユーザーの現在のロケールが使用されます (これはおそらく、ユーザーが見慣れている方法で数値をフォーマットする必要があると思います)。特定のロケールを設定したい場合は、 のインスタンスをLocale
に渡すことができますgetInstance()
。Locale
あなたの便宜のために、クラスで利用可能な静的インスタンスの束があります:
// Always prints with comma as separator
java.text.NumberFormat.getInstance(Locale.ENGLISH).format(num);
// => 1,234,567,890
// Always prints with period as separator
java.text.NumberFormat.getInstance(Locale.GERMAN).format(num);
// => 1.234.567.890
于 2012-08-16T05:58:32.610 に答える
0
例: 100000 を 100,000 に変える
public class number
{
public static void main(String args [])
{
double d = 123456.78;
DecimalFormat df = new DecimalFormat("###,### ");
System.out.
println(df.format(d));
}
}
于 2012-08-16T06:01:21.963 に答える
-1
String string = "1,234,567";
String[] splits = string.trim().split(",");
int num = 0;
for (String split : splits)
{
num = (num * 1000) + Integer.parseInt(split.trim());
}
System.out.println(num); // prints 1234567
于 2012-08-16T06:00:51.890 に答える