很抱歉这么简单的问题,但是如何在生成的随机数之间加一个空格然后发送到setText?
它现在显示########,但我希望它显示为#### ####
text = (TextView) findViewById(R.id.tv_randnumber);
text.setText(String.valueOf((int) (Math.random() * 100000000)));
答案 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));