为什么我的代码返回一个数字后跟一个“e”? [重复]

问题描述 投票:0回答:1
long[] Distances = { 
  1790000, 3670000, 93000, 2880000, 484000, 35000, 142000, 67000, 889000
};

long tmp;
int j = 0;
boolean sorted = false;

while ((!sorted) && (j < data.length)) 
{
  sorted = true;
  for (int i = 0; i < data.length - 1; i++)
    if (data[i] > data[i + 1]) 
    {
      sorted = false;
      tmp = data[i];
      data[i] = data[i + 1];
      data[i + 1] = tmp;
    }
  }
}

预期:

35000, 67000, 93000, 142000, 484000, 889000, 1790000, 2880000, 3670000

结果:
3.5E7, 6.7E7, 9.3E7, 1.42E8, 4.84E8, 8.89E8, 1.79E9, 2.88E9, 3.67E9

*我看到代码正在排序,但我不知道为什么它会缩短它。 Double 和 int 也不执行任何操作。请帮忙

numbers long-integer
1个回答
0
投票

BigDecimal.stripTrailingZeros().toPlainString()

© www.soinside.com 2019 - 2024. All rights reserved.