Хранение валюты оценивает в SQLite3

Я имею дело с большим количеством различных валют в моем приложении, и я хочу знать то, что "лучший" путь состоит в том, чтобы сохранить их в базе данных SQLite3.

Я склоняюсь к представлению фиксированной точки (т.е. сохраните их как целые числа, где 3,59$ хранятся как 359, 400¥, сохраненные как 40 000). Действительно ли это - хорошая идея? Что, если мои входные данные более поздние изменения и требует большей точности?

13
задан nornagon 16 July 2010 в 01:01
поделиться

2 ответа

Учитывая, что SQLite 3 будет использовать до 8 байт для хранения типов INTEGER, если вы не собираетесь использовать числа больше 10^16, все будет в порядке.

Чтобы представить это в перспективе, мировой валовой внутренний продукт, выраженный в тысячных долях доллара США (миллион), составляет около 61'000'000'000'000'000, что sqlite3 без проблем может выразить.

sqlite> create table gdp (planet string, mills integer);
sqlite> insert into gdp (planet, mills) values ('earth', 61000000000000000000);
sqlite> select * from gdp;
earth|61000000000000000000

Если вы не занимаетесь межпланетной бухгалтерией, я не думаю, что вам стоит беспокоиться.

23
ответ дан 1 December 2019 в 22:22
поделиться

Я бы сказал строка/текст. Вы всегда можете преобразовать его в любую культуру, если вам это понадобится.

0
ответ дан 1 December 2019 в 22:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: