DecimalFormat правильно форматирует значения при просмотре журнала, но значения не форматируются после сохранения в базу данных?

Я пытаюсь отформатировать значение с плавающей запятой, чтобы иметь только четыре десятичных знака, используя DecimalFormat следующим образом: введите здесь описание изображения введите здесь описание изображения

Когда я смотрю на вывод в виде записи журнала в Android Studio, он отлично отформатирован (столбец обведен красным, с такими значениями, как 9,3525, 21,0145 и т. д.): введите здесь описание изображения

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

Что здесь происходит, и как я могу это исправить? Спасибо заранее за любую помощь!


person Yuerno    schedule 14.03.2018    source источник
comment
Какой тип столбца, в котором вы храните значения?   -  person Estevex    schedule 14.03.2018
comment
@Estevex Тип столбца «РЕАЛЬНЫЙ» (который я использовал для двойных чисел, и я полагаю, что он работает и для поплавков).   -  person Yuerno    schedule 14.03.2018
comment
raw_load - это значение, которое вы регистрируете и сохраняете в БД?   -  person Estevex    schedule 15.03.2018
comment
@Estevex Значение raw_load возвращается из функции, поэтому я вызываю эту функцию, сохраняю ее вывод (raw_load) в другое число с плавающей запятой и сохраняю его в БД.   -  person Yuerno    schedule 15.03.2018
comment
Вы пытались сохранить вывод функции непосредственно в БД?   -  person Estevex    schedule 15.03.2018
comment
У меня нет, но я не могу из-за некоторых проблем со временем, которые есть в моем коде. Однако я делаю то же самое для столбца слева от столбца, обведенного красным (применяю тот же DecimalFormat, вызываю функцию и сохраняю ее результат в другой переменной). Это отлично работает, и единственное существенное различие в переменной заключается в том, что это двойное число, а не число с плавающей запятой. Я не уверен, что это может быть проблемой.   -  person Yuerno    schedule 17.03.2018
comment
Починил это! Оказывается, проблема заключалась в том, что переменная была с плавающей запятой. Я преобразовал все в двойное число, и впоследствии в базе данных были правильно отформатированные значения.   -  person Yuerno    schedule 17.03.2018


Ответы (1)


Проблема оказалась в том, что я использовал поплавок в качестве переменной. Я преобразовал все в двойное, и после этого DecimalFormat правильно форматировался в базе данных, а также в журналах Android Studio.

person Yuerno    schedule 16.03.2018