Why is my code returning a number followed by an 'e'?

50 Views Asked by At
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;
    }
  }
}
    for (int i = 0; i < data.length; i++) {
        System.out.print(data[i] + ", ");
    }
    System.out.println();
}

Expected: 35000, 67000, 93000, 142000, 484000, 889000, 1790000, 2880000, 3670000
Results: 3.5E7, 6.7E7, 9.3E7, 1.42E8, 4.84E8, 8.89E8, 1.79E9, 2.88E9, 3.67E9

*I see that the code is getting sorted but I don't know why it is shortening it. Double and ints also don't do anything. PLEASE HELP

1

There are 1 best solutions below

0
Syeda Maira Saad On

BigDecimal.stripTrailingZeros().toPlainString()