我在发票网页上工作,我刚刚从mysql数据库获取值时,实现了四舍五入。
我尝试过使用round,truncate,ceil但是无法获得正确的数字。
示例:
ItemTotal = 525 ItemQuantity = 1 应纳税所得额=真 率= 6.5
所以计算应该是559.125,应该四舍五入到559.13但是我的查询是四舍五入到559.12。任何想法都将不胜感激。
select invoices.ID,ClientName, ClientStreetAddress,CONCAT(ClientCity,', ',ClientState,' ',ClientZip) as ClientCityStateZip, SUM(ROUND(IF(Taxable = true, (ItemTotal*ItemQuantity)+((ItemTotal*ItemQuantity)*(Rate/100)), ItemTotal*ItemQuantity),2)) as TotalAmount, ClientEmail, DateTime, ExpirationDate, EmailSent from `invoices` invoices inner join `invoiceitem` item on item.InvoiceID = invoices.ID where EmailSent=1 GROUP BY ID ORDER BY DateTime DESC, ID DESC
答案 0 :(得分:0)
使用ROUND(amount,2)
代替您在查询中使用的TRUNCATE
。
SUM(ROUND(IF(Taxable=true , ()),2))
请参阅here