使用setText在数字之间添加空格

时间:2011-12-17 18:50:20

标签: android

很抱歉这么简单的问题,但是如何在生成的随机数之间加一个空格然后发送到setText?

它现在显示########,但我希望它显示为#### ####

text = (TextView) findViewById(R.id.tv_randnumber);
text.setText(String.valueOf((int) (Math.random() * 100000000)));

4 个答案:

答案 0 :(得分:1)

我建议:

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);

这必须有效。

答案 1 :(得分:1)

这可能是那些有正确答案百万的问题之一,这是一种方法:

String string = String.valueOf((int) (Math.random() * 100000000));
string = new StringBuilder(string).insert(4, ' ').toString();

答案 2 :(得分:1)

String.format(String, Object...)是一种访问格式化程序功能的便捷方法。第一个参数是支持多个标志的“格式字符串”。

用于对大数字分隔符进行分组的标记是,,因此您可以编写:

text.setText(String.format("%,d", (int)(Math.random() * 100000000))) 

对于所有可用的标志,请参阅Formatter

这种方式将使用Locale分组(千)分隔符。如果要自定义此分隔符(例如,使用空格),则需要执行以下操作:

DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setGroupingSeparator(' ');
DecimalFormat df = new DecimalFormat("###,###", dfs);
text.setText(df.format(Math.random() * 100000000));

答案 3 :(得分:0)

   int i=(int)Math.random() * 100000000 ;
   int rem= i%10000;
   int i=i/10000;
   text.setText(String.valueOf(i+" " +rem));