我想生成数字000000到999999并在textview中显示它和常用数字" 9179"。我的代码适用于0-64但不显示前缀五次"零"。此外,它最多只显示64.显示应为:
9179000000 9179000001 ...... 9179999999!
公共类MainActivity扩展了Activity {
int series = 000000; TextView测试;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
test=(TextView)findViewById(R.id.textView1);
StringBuilder t = new StringBuilder();
for(int l=series; l<=000100; l++){
t.append("9179");
t.append(l+"\n");
}
test.setText(t.toString());
}
}
答案 0 :(得分:2)
如果在Java中使用一个或多个0
数字作为整数文字的前缀,它将被解释为octal数字 - 而不是十进制数。
八进制值000100
是十进制的64。不要在源代码中使用前缀零。写下这个:
int series = 0;
for(int l=series; l<=100; l++){
要使前缀零出现在文本框中,请正确格式化数字:
t.append(String.format("9179%06d", l));
答案 1 :(得分:1)
只需输入一个整数:
int baseNum = 9179000000;
for (int l=series; l<=100; l++) {
int myNumber = baseNum + l;
t.append(IntegerToString(myNumber) + "\n");
}`
答案 2 :(得分:0)
private String getNumberString(){
StringBuilder t = new StringBuilder();
Formatter formatter = new Formatter(sb, Locale.US);
for(int l=series; l<=100; l++){
t.append(formatter.format("9179%06d%n", l).toString());
}
return t.toString();
}
formatter.format("%06d", integer)
将为您提供一个长度为6个字符的数字,必要时使用前导0。