Java ResultSet.getBigDecimal () проблема масштаба с Oracle

1

Использование Oracle 11g.

Чтение столбца number(18, 8) из него с использованием JDBC ResultSet.getBigDecimal(columnName) - значение равно 1, и это то, что возвращается. Тем не менее, я хочу, чтобы он вернул 1.00000000.

Есть ли способ получить это? Я попробовал ResultSet.getBigDecimal(columnName, 8) (я знаю, что он устарел, но все равно хотел попробовать). Не работал.

  • 0
    Нет большой разницы между 1 и 1,00000000. Вы можете написать некоторый код форматирования, который печатает необходимое количество десятичных знаков.
  • 0
    @laune, в моем проекте много таких столбцов с одинаковыми требованиями, поэтому я пытаюсь выяснить, есть ли лучший способ, чем сам писать логику форматирования.
Теги:
jdbc

2 ответа

3
Лучший ответ

Это может быть решение:

ResultSet.getBigDecimal(columnName).setScale(8);
  • 0
    Было первое, что я попробовал ... не сработало ... теперь так и есть! Пойди разберись!
1

Попробуй это:

BigDecimal bd = new BigDecimal( "1.0" );
System.out.println( bd );
bd = bd.setScale( 6 );
System.out.println( bd );

Свойство scale влияет на BigDecimal.toString()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню