SQLite получает int вместо float - PullRequest
       17

SQLite получает int вместо float

0 голосов
/ 02 августа 2020

В Unity я хочу сохранить значение чувствительности мыши (float) в таблице базы данных как REAL. Но по какой-то причине он округляет значение, поэтому, если у меня есть значение 1.0, он сохраняет 1.0, а если, например, 0.65, он сохраняет 0.0. Вот запрос:

foreach (KeyValuePair<string, float> kv in mouse)
    {
        MyDataBase.ExecuteQueryWithoutAnswer("UPDATE Mouse SET value = '" + kv.Value.ToString() + "' WHERE option = '" + kv.Key + "'");
    }

Остальные типы сохраняются правильно.

1 Ответ

0 голосов
/ 02 августа 2020

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

foreach (KeyValuePair<string, float> kv in mouse)
    {
        string s = ((int)kv.Value).ToString() + "." + ((kv.Value - (int)kv.Value) * 100).ToString();
        MyDataBase.ExecuteQueryWithoutAnswer("UPDATE Mouse SET value = '" + s + "' WHERE option = '" + kv.Key + "'");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...