Вы теряете точность, потому что переменная вашей программы имеет одинарную точность, а вам нужна двойная.
Плавающая точка на самом деле совершенно точна для целых значений, которые вписываются в мантиссу.
Вы получаете 24 бита для одиночных игр и 53 для двойных.
Это совсем не проблема sqlite.