JDBC: jtds getString() возвращает двойные числа в научной нотации
При использовании драйвера JDBC JTDS, 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 ответ
Извлеките двойные, используя 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