Java格式每3位格式化一个非常大的数字

时间:2017-12-01 17:49:22

标签: java

我创建了一个类Number来处理非常(无限)大数的操作。它可以加,减,乘,因子等。

我在大量印刷中遇到了一个问题," 1 000 000 000 000 000 000 000"以这种格式。我有一个String,其中包含一个没有空格的数字。谁能告诉我我做错了什么?这是代码:

  public String show(){
     String res = "";
     int j = 0;
     for (int i = 0; i < this.digits; i++) { 
         j++;
         if(j==4) {
            j=0;
            res+= " ";
         }
         //E[i] is the digit of the number
         res += this.E[i];
     }
     int j = 0;
     return res;
  }

我尝试使用if(i%4==0)这样的东西,似乎空间并不像我想要的那样工作。
在此先感谢您的宝贵帮助:)。

1 个答案:

答案 0 :(得分:0)

谢谢你,我选择了作弊:

public String show(){

String res = "";
for (int i = 0; i < this.nbchiffres; i++) { 
    res += this.E[i];
    }
return (String.format("%,d", new BigInteger(res))).replace(',', ' ');
}

我不想以这种方式作弊,但是因为它的工作......谢谢大家:)