Как сохранить значение 0.2 в базе данных sqlite3, используя python - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь сохранить процентное значение в виде десятичного числа в базе данных sqlite3, разделив ввод пользователя на 100.

Однако в базе данных сохраненное значение всегда равно 0, если тип столбца равенINTEGER или 0.0, если тип REAL.

Я пытался изменить тип данных.

sql = """INSERT INTO recipes (rname, customer_id, bar_weight, ingredient_id, ingredient_amount) VALUES (?, ?, ?, ?, ?/100)"""

Ожидаемое: 20/100 = 0.2

Фактическое значение: 0

1 Ответ

1 голос
/ 07 ноября 2019

Результат этого оператора:

select 20 / 100

равен 0, потому что SQLite выполняет целочисленное деление. Чтобы избежать этого, используйте 100.0 вместо:

INSERT INTO recipes (rname, customer_id, bar_weight, ingredient_id, ingredient_amount)
VALUES (?, ?, ?, ?, ?/100.0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...