Форум программистов, компьютерный форум CyberForum.ru

Хранения цены в SQLite - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Темы вида Android Studio http://www.cyberforum.ru/android-dev/thread991539.html
Год назад поставил студию (1.1), поигрался с настройками и СЛУЧАЙНО переключил стиль со светлого на темный. Стиль ВОКРУГ кода - кнопочки, менюшки.... Как не знаю. Долго плевался, но привык (где-то хуже в контрастах цветов, но не так "грузит глаза"). Недавно переустановил студию на последнюю (1.3) и стиль опять белый. На всех скриншотах в учебниках он темный. Какие бывают еще? Как установить...
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 int i = 0; @Override
Android Получить e-mail пользователя facebook
Подскажите как можно получить e-mail пользователя facebook? Пытаюсь получить так: String email = user.getProperty("email").toString(); но объект "user" не имеет ничего связанного с email. вот код: private void loginFacebook() { Session.openActiveSession(this, true, new Session.StatusCallback() {
Android Пароль на приложение http://www.cyberforum.ru/android-dev/thread990476.html
Есть запароленное приложение с тремя активити (main,spisok,pass). Хочу, чтобы при нажатии на хард-кнопку "Домой" и последующем запуске приложения с домашнего экрана появлялась активити с паролем(pass). Написал обработчик onResume на двух активити main и spisok, чтобы сразу запускалась pass. В итоге, теперь при нажатии на хард-кнопку "Домой" и последующем запуске приложения с домашнего экрана...
Android Ошибка при отладке на телефоне (INSTALL_FAILED_INVALID_APK) При отладке на телефоне (Sony Xperia Sola) возникает ошибка: pkg: /data/local/tmp/com.example.tmp Failure ------------------------------------------ С другим телефоном все работает. Судя по всему ошибка не в настройках IDE или adb, а в самом телефоне. Пробовал запускать на другом компьютере и тоже ничего не работало. На эмуляторе все работает. Вот весь лог: Waiting for device. Target... подробнее

Показать сообщение отдельно
Slon747
59 / 37 / 1
Регистрация: 24.08.2013
Сообщений: 415
29.10.2013, 21:31     Хранения цены в SQLite
Цитата Сообщение от 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-х знаков после запятой. Но это уже отдельная история.
 
Текущее время: 09:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru