SQLite (.NET), 8-байтовый double преобразуется в бесконечность, а не double.MaxDouble, как вставлено? - PullRequest
0 голосов
/ 01 мая 2018

Я использую библиотеку SQLite .NET для сохранения двойных значений

Это мой псевдокод

// create table t1 (value REAL)
// ... connect to db
var sql = $"insert into t1(value) VALUES ({double.MaxValue:G64})"; // insert into t1(value) VALUES (1.7976931348623157E+308)
using (var command = new SQLiteCommand(sql, con))
{
  command.ExecuteNonQuery();
}

Затем я делаю выбор:

// SELECT * FROM t1
// .. connect + query
var d = reader.GetDouble(0);

Но значение d равно double.PositiveInfinity, а не double.MaxValue, что может быть причиной такой разницы?

...