Форум программистов, компьютерный форум, киберфорум
Наши страницы

Хранения цены в SQLite - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Темы вида Android Studio http://www.cyberforum.ru/android-dev/thread991539.html
Год назад поставил студию (1.1), поигрался с настройками и СЛУЧАЙНО переключил стиль со светлого на темный. Стиль ВОКРУГ кода - кнопочки, менюшки.... Как не знаю. Долго плевался, но привык (где-то...
Программирование Android Как получить экранные и геокоординаты по клику по MapView в yandex mapkit? Как получить экранные и геокоординаты по клику по MapView в yandex mapkit? Пробовал повесить OnTouchListener на mapview, не работает http://www.cyberforum.ru/android-dev/thread991156.html
Программирование Android Смена значения TextView по таймеру
Подскажите, пожалуйста, как решить следующую проблему. Имеется код: public class MainActivity extends Activity { /** * Called when the activity is first created. */ public...
Программирование Android Получить e-mail пользователя facebook
Подскажите как можно получить e-mail пользователя facebook? Пытаюсь получить так: String email = user.getProperty("email").toString(); но объект "user" не имеет ничего связанного с email. ...
Программирование Android Пароль на приложение http://www.cyberforum.ru/android-dev/thread990476.html
Есть запароленное приложение с тремя активити (main,spisok,pass). Хочу, чтобы при нажатии на хард-кнопку "Домой" и последующем запуске приложения с домашнего экрана появлялась активити с...
Программирование Android Ошибка при отладке на телефоне (INSTALL_FAILED_INVALID_APK) При отладке на телефоне (Sony Xperia Sola) возникает ошибка: pkg: /data/local/tmp/com.example.tmp Failure ------------------------------------------ С другим телефоном все работает. Судя по... подробнее

Показать сообщение отдельно
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 440
29.10.2013, 21:31
Цитата Сообщение от Tester64 Посмотреть сообщение
Кроме хранения нужны простые операции:
1) умножить на количество (возможно тоже дробное)
2) разделить на коефициент "в упаковке/ящике/контейнере"
3) округлить (например до целого, первого знака, десятков)
4) вывести в любом (а не только рекоментуемом гуглом) формате = 1.5, 1.50, "1,45", "1`234.5", "1 234.5" - с фиксироваными дробными или плавающими, с точкой-разделителем или запятой, с пробелом на тысячах или апострофом или без него...
Я не гуру в андроиде, но в субд не плохой опыт.
Вопрос, можно ли это реализовать средствами SQL?
Да. Разве что по 4-му пункту будут заморочки, но тоже можно (но я бы форматировал уже полученную выборку).

Цитата Сообщение от Tester64 Посмотреть сообщение
Основных направления 3:
1) целые умноженые на 100 или на 1000.... Писать всю математику надо с нуля, может быть НАМНОГО медленнее встроеных средств. Пока цена 2 знака, встречал 3 (для "гвоздей" на граммы для округления в итоге), но может быть и 5-6. Перебирать и переумножать все старые цены после увеличения дробности - не разумно
2) строки которые можно "парсить" во FLOAT... проблемы только с форматом вывода. Возможно медленнее работает, но возможно сработает getFloat на поле запроса.
3) специальный формат SQLite для дробных. В инструкциях сказано что возможно. Редакторы предлагают - REAL, FLOAT, CURRENCY. Но кого поддерживает Android? Создал базу целых, запихнул туда флоат. В редакторах там 0, андроид вытягивает запихнутый флоат (123.456).

С FLOAT до этого работал мало - какие нюансы стоит знать о математике?
Есть еще DOUBLE. Наверное надежнее его выбрать, т.к. ниже погрешность.
Зачем хранить целые? Храните в double. Ну и что, что число в БД будет иметь значение что то типа 12.000000000001 - это нормально.
Кол-во сохраняемых знаков после запятой - проблема не SQLite, а разработчика.
Как угодно, так и округляем и только искусственно ограничиваем ввод знаков после запятой. Я бы выбрал не меньше 3-х знаков.
И кстати, если сохраняем сумму строки (цена * колво * скидка) иногда имеет смысл не обрезать до 2-х знаков после запятой. Но это уже отдельная история.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru