About numerical precision in SQLite v3.20.0. See the command sequence below and the .dump result. The value associated with the INSERT statement is not the same value as that obtained. I enter the value 123456.789 and I get 123456.7890000000043. How can this happen?
SQLite version 3.20.0 2017-08-01 13:24:15
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> CREATE TABLE Teste (Campo Number(9,3));
sqlite> INSERT INTO Teste Values (123456.789);
sqlite> SELECT * From Teste;
123456.789
sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE Teste (Campo Number(9,3));
INSERT INTO Teste VALUES(123456.7890000000043);
COMMIT;
sqlite>