我想在android中使用textview显示000000到999999

时间:2015-04-07 14:21:22

标签: android

我想生成数字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());

}
}

3 个答案:

答案 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。