Sqlite на Android обработка значения NaN - PullRequest
3 голосов
/ 20 ноября 2011

Я пытаюсь установить, нашел ли я ошибку в sqlite или это только из-за моего понимания (поскольку у меня не было большого опыта с этим).(И да, я проверил средство отслеживания ошибок sqlite.)

У меня есть Android, где я хочу хранить двойники в базе данных.Я также хочу сохранить запись, где значение еще не может быть установлено (то есть недействительным).Чтобы отследить это состояние, я хочу сохранить Double.NaN.

Поэтому, когда я создаю таблицу базы данных как таковую

create table Example (myRecordId integer primary key autoincrement, someString text not null, problemDouble REAL);

Вставьте запись, где problemDouble is Double.NaN, а затем получите доступ черезCursor.getDouble (...) Я вернусь Java double со значением 0.0.

Теперь, если я создаю таблицу таким образом (используя текст вместо реального)

create table Example (myRecordId integer primary key autoincrement, someString text not null, problemDouble text);

Вставьте запись, в которой Java double конвертируется в строку, и получите к ней доступ таким же образом, как и в случае возврата к double со значением NaN.

Я думал, что sqlite должен быть не типизированным, но, похоже,возиться со значением, когда столбец является реальным.Или же sql REAL не поддерживает значение NaN?

Я полагаю, что sqlite просто преобразует значения REAL в строки в фоновом режиме.

Так что будет рассматриваться это несоответствиеошибка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...