Значение 71674705 преобразовано в 7.1674705E - PullRequest
0 голосов
/ 09 ноября 2010

У меня большая проблема с чтением больших чисел из Excel в Java.Когда я читаю 71674705, я получаю 7.1674705E, что не в порядке.

Пример:

double num = cell.getNumericCellValue ();

как можноя предотвращаю преобразование между числами, что число останется как 71674705.

Ответы [ 3 ]

7 голосов
/ 09 ноября 2010

Само число не меняется, только представление, когда вы преобразуете его в строку.Переменная double, которую вы используете, не имеет явно заданного формата.

Вы можете использовать java.text.NumberFormat ( javadoc ) для форматирования числа любым способом, каким вы хотели бы видеть его,

3 голосов
/ 09 ноября 2010

num - это просто двойное число, то есть двоичное число с плавающей точкой. Такое форматирование (экспоненциальная запись) является проблемой только для печати. Так что, если вы просто отлаживаете, вам не нужно беспокоиться. Для выпуска продукции вы можете использовать NumberFormat, например DecimalFormat.

1 голос
/ 09 ноября 2010

Если вы уверены, что имеете дело с целым числом и хотите, чтобы оно представляло собой целочисленное значение, вы всегда можете попробовать: Integer.valueOf(num)

Редактировать: конечно, недопустимо для больших чисел: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...