申し訳ありませんが、このような簡単な質問はありますが、生成されてからsetTextに送信される乱数の間にスペースを挿入する方法はありますか?setTextで数字の間にスペースを追加する
それは今########表示しますが、私はそれが#### ####
text = (TextView) findViewById(R.id.tv_randnumber);
text.setText(String.valueOf((int) (Math.random() * 100000000)));
申し訳ありませんが、このような簡単な質問はありますが、生成されてからsetTextに送信される乱数の間にスペースを挿入する方法はありますか?setTextで数字の間にスペースを追加する
それは今########表示しますが、私はそれが#### ####
text = (TextView) findViewById(R.id.tv_randnumber);
text.setText(String.valueOf((int) (Math.random() * 100000000)));
として表示したい私は、この提案:
text = (TextView) findViewById(R.id.tv_randnumber);
String random = String.valueOf((int) (Math.random() * 100000000));
String one = random.substring(0, 4);
String two = random.substring(4, 8);
text.setText(one + " " + two);
これを働かなければならない。
これはおそらく、万人に正しい答えを持っているこれらの質問の一つであり、ここでそれを行うための一つの方法です:
String string = String.valueOf((int) (Math.random() * 100000000));
string = new StringBuilder(string).insert(4, ' ').toString();
int i=(int)Math.random() * 100000000 ;
int rem= i%10000;
int i=i/10000;
text.setText(String.valueOf(i+" " +rem));
String.format(String, Object...)
は、フォーマッタの機能にアクセスするための便利なメソッドです。最初のパラメータは、いくつかのフラグをサポートする 'フォーマット文字列'です。多数のためのセパレータをグループ化するための
フラグが,
はそうあなたが書くことができます:
text.setText(String.format("%,d", (int)(Math.random() * 100000000)))
利用可能なすべてのフラグはロケールのグループ化(千)のセパレータを使用することになる。このように
Formatter
を参照してください。このセパレータをカスタマイズする場合は、次のようにする必要があります。
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setGroupingSeparator(' ');
DecimalFormat df = new DecimalFormat("###,###", dfs);
text.setText(df.format(Math.random() * 100000000));
Works - text.setText(String.format( "%、d"、(int)(Math.random()* 100000000))) –
ありがとうございました!よく働く! – duggerd
注意しなければならないことの1つ:ループなどでこれを何度も実行する場合は、文字列の過度の作成を避けるために、より最適化された解決策を検討するとよいでしょう(ここでは4つの異なる文字列インスタンス1回の修正に使用される)。 – Jave