Я относительно новичок в python и в свое удовольствие работаю над созданием программы для автоматического создания листа продаж.Он имеет несколько функций, которые извлекают необходимые данные из базы данных, а также reportlab и несколько других инструментов для помещения результатов в сгенерированный pdf.Я пытаюсь округлить результаты, поступающие с сервера Mysql.Однако я попал в точку, в которой я застрял, и все способы, которыми я пытался округлить результаты, выдают код ошибки и не работают.Мне нужно взглянуть на несколько примеров, чтобы понять, как это будет работать, и любые соответствующие отзывы, которые помогут мне учиться.
Я пытался использовать функцию округления mysql для округления результатов, но это не удалось.Я также попытался округлить результаты как часть функции, которая сама генерирует стоимость единицы.Однако и это не удалось.
Большой объем кода был удален из-за дыры в безопасности, которую он может создать.Код предоставлен, чтобы показать, что я сделал до сих пор.Вывести строку результата, чтобы убедиться, что код работает во время разработки.Он не дает никаких ошибочных результатов и будет удален на последнем этапе проекта.
def upcpsfunc(self, upc):
mycursor = self.mydb.cursor()
command = "Select Packsize from name"" where UPC = %(Upc)s"
mycursor.execute(command, {'Upc': upc})
result = mycursor.fetchone()
print(result[0])
return result[0]
def unitcost(self,upc):
#function to generate unit cost
mycursor = self.mydb.cursor()
command = "Select Concat((Cost - Allow)/Packsize) as total from name
where UPC = %(Upc)s"
mycursor.execute(command, {'Upc': upc})
result = mycursor.fetchone()
print (result[0])
return result[0]
Что касается ожидаемых результатов, я бы предпочел команду mysql для округления результатов, прежде чем она отправит ее в Reportlab для размещения.Пока результаты 4 или 5 цифр, что не идеально.Я хочу, чтобы результаты имели два знака после запятой, так как это были бы деньги.Желаемый результат равен 7.50 вместо 7.5025