2013-02-25 3 views
0

Я пытаюсь импортировать файл CSV в Java, но когда я достигаю значение временной метки (например: 135824328205) я получаю следующее сообщение:Java NumberFormatException с CSV длиной преобразования

02-25 10:40:48.629: W/System.err(23341): java.lang.NumberFormatException: 1.35998E+12

Я хотел бы чтобы сохранить его как долгое значение, но это не работает, вот мой код:

in.setTS(Long.parseLong(dataArray[2])); 

Может кто-нибудь мне помочь? Спасибо.

+4

Что такое содержание [2] DataArray? – vikingsteve

+0

'1.35998E + 12' не длинный – PermGenError

+0

@PremGenError: нет. но если я открою csv с помощью блокнота, я вижу длинное значение там – Karoly

ответ

1

Как вы можете видеть here:

in.setTS(Double.valueOf(dataArray[2]).longValue()); 

в случае dataArray[2] имеет соответствующую экспоненциальную нотацию как строку

BigInteger также может помочь вам здесь.

0

Для огромного числа весьма полезно использовать BigInteger

BigInteger value = new BigInteger(dataArray[2], 10); 

Предполагая dataArray[2] струнный

См documentation

Смежные вопросы