JDBC: jtds getString () возвращает двойные числа в научной нотации - PullRequest
1 голос
/ 02 февраля 2012

При использовании драйвера jtds JDBC getString иногда возвращает двойные числа, отформатированные в научной нотации:

// metaData.getColumnType(0) == java.sql.Types.DOUBLE
String.format("%f", resultSet.getDouble(0)); // = 26150279.910000
resultSet.getString(0);  // = 2.615027991E7

для некоторых значений это не так:

String.format("%f", resultSet.getDouble(0)); // = 624000.000000
resultSet.getString(0);  // = 624000.0

Возможно ли этозаставить getString всегда возвращать %f -форматированные двойные числа?

Пожалуйста, не убеждайте меня использовать getDouble().Спасибо.

1 Ответ

4 голосов
/ 02 февраля 2012

Извлеките двойку, используя getDouble:

double num = resultSet.getDouble();

Создайте десятичный форматер, указав шаблон, который вы хотите использовать. Если вы не укажете его, используется шаблон локали по умолчанию:

DecimalFormat df = new DecimalFormat(pattern);

Получить отформатированную строку

String formattedString = df.format(num);

И наслаждайся своей собственной строкой:)

если вам нужна помощь по созданию шаблона, обратитесь к документации:

http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html

...