Pluto
Окт. 10, 2013 18:10:07
До этого всё создавал запросы в качестве хранимых представлений в самой БД.
Пример: SELECT sum(money) as summa FROM table GROUP BY something
Затем делал для QSqlTableModel.setTable(“myView”) и в соответствующей QTableView сумма из запроса появлялась в приемлемом виде. (только с кучей цифр после запятой)
Теперь же аналогичный запрос я создал в тексте питон-программы, поместил его в query = QSqlQuery(SELECT sum(money) as summa FROM table GROUP BY something), затем эту кверю поместил в модель QSqlTableModel.setQuery(query)
В итоге, в отображаемой на форме вьюшке я вместо нормальных сумм вижу что-то типа 1,8452e+06.
Как побороть? И зачем Qt вообще так делает?
Pluto
Окт. 13, 2013 06:19:34
Никто - никто не сталкивался?
Pluto
Окт. 15, 2013 19:09:51
Люди! Ну, подскажите кто-нибудь. Числа в таблице принимают удобоваримый вид только если сделать cast (sum(money) as integer) as summa. Но мне не нужны целые числа! Это же денюжки, там циферки после запятой должны быть!
reclosedev
Окт. 15, 2013 20:31:17
Pluto
Окт. 16, 2013 13:40:02
Кстати, переделал данный запрос в хранимое в БД представление и получил такой же результат. Безобразие!
Он мне так циферки кажет у которых получается шибко много знаков после запятой, типа 459884.699999999
Но, в то же время, этот запрос выполненный силами Sqliteman выдаёт нормальный вид чисел.
Pluto
Окт. 16, 2013 13:44:28
reclosedev
Можно Model.data() переопределить http://www.qtforum.org/article/30219/qtableview-setting-precision-for-numbers.htmlИли с делегатом заморочиться.
Спасибо за подсказку.
Но как же мне не нравится такая ФИГНЯ в языках программирования. Ему что в лом что ли выдать нормальное число? Ну и что что там циферек много. На кой ляд мне эта непрошеная экспоненциальная форма?
Злюся я.
doza_and
Окт. 20, 2013 11:17:42
:)
Pluto
Злюся я.
А я злюся когда при получении зарплаты в квитке куча циферок точка еле видна и не сразу поймешь может десять тысяч выдали а может и миллион. Нет чтобы нормально писали - в экспоненциальной форме. Коротко и ясно.
bismigalis
Окт. 20, 2013 13:15:50
Это же денюжки
денюжки нельзя во float хранить, decimal для этого
Pluto
Апрель 2, 2014 18:55:43
bismigalis
денюжки нельзя во float хранить, decimal для этого
А SQLite нету дела ни до какого decimal.