私は現在、多くの数字を含む文字列番号を使用するAndroidプロジェクトに取り組んでいます。Androidのカンマ区切り文字列番号への文字列番号の変換
は、だから私は、インドのロケール形式でカンマ区切りの文字列番号例えば(1,00,00,00,000
)用に例えば1000000000
ため列番号を変換する方法があるかどうかを知りたいです。
米国のロケールフォーマット文字列変換がありますが、インドのロケールフォーマットが必要です。
私は現在、多くの数字を含む文字列番号を使用するAndroidプロジェクトに取り組んでいます。Androidのカンマ区切り文字列番号への文字列番号の変換
は、だから私は、インドのロケール形式でカンマ区切りの文字列番号例えば(1,00,00,00,000
)用に例えば1000000000
ため列番号を変換する方法があるかどうかを知りたいです。
米国のロケールフォーマット文字列変換がありますが、インドのロケールフォーマットが必要です。
私は(私はインドのためにen_IN
であると考えて)適切なロケールでフォーマッタオブジェクトを初期化することを確実にすること、Format
クラスのformat("% ,d", number)
方法を使用します。
最初の場所で米国のロケールでどのようにコードを投稿したのかをコードで伝えれば、人々が手助けする方が簡単だと言えます。
thnks bro私はformat()を使用して、私は望みの結果を得ました.... – mobilemagic
NumberFormatを使用する必要があるので、ユーザーの現在のロケール設定を使用して一般的なケースを作成することができます。
そして私はこれがあなたの現在の状況であることを考える:あなたは、複数の数値をフォーマットする場合は、フォーマットを取得し、システムについての情報を取得する必要がないように、それを複数回使う方が効率的だ
現地の言語や国の規則を何度も繰り返します。
NumberFormat nf = NumberFormat.getInstance();
for (int i = 0; i < a.length; ++i) {
output.println(nf.format(myNumber[i]) + "; ");
}
参考:Formatting a Number Using a Custom Format
private String getFormatedData(String unformatedData) {
if(unformatedData != null) {
try {
//unformatedData.replaceAll(",", "");
Double result = Double.valueOf(unformatedData);
DecimalFormat myFormatter = new DecimalFormat("###,##0.00");
//DecimalFormat myFormatter = new DecimalFormat("#,###,###");
//If you don't want to show .00 format
return myFormatter.format(result);
} catch (NumberFormatException e) {
return unformatedData;
}
} else {
return "0.00";
}
}
このメソッドを使用します。
.00の値が不要な場合は、この方法を変更する必要があると思います。私はそれに取り組ませてください。
Pankaj Kumarによって与えられた答えは、インドのフォーマットではなく米国のフォーマットで出力されます。 あなたはそれが簡単に次のコードによって行うことができ、米国形式にしたい場合:ここに示されているように
NumberFormat.getNumberInstance(Locale.US).format(35634646)
:インドフォーマットでカンマで文字列を取得するにはConverting Integer to String with comma for thousands
あなたは、このマニュアルのコード
を試すことができますpublic String round(String d)
{
ArrayList<Integer> commas=new ArrayList<Integer>();
String output=null;
char[] preDecimal=d.split("[.]")[0].toCharArray();
int i=preDecimal.length-3;
System.out.println(i);
while(i>0)
{
commas.add(i);
i-=2;
}
StringBuilder sb=new StringBuilder();
for(i=0;i<preDecimal.length;i++)
{
sb.append(preDecimal[i]);
if(commas.contains(i+1))
sb.append(",");
}
output=sb.toString();
return output;
}
米国のロケールフォーマットではどうでしたか? – curioustechizen
@ techi.curious:それに従ってください... [リンク] http://stackoverflow.com/questions/6439447/how-to-convert-string-numbers-into-comma-seperated-integers-in-java – mobilemagic