我正在寻找正确的格式并在 MySQL 中对货币进行数学运算,其中价格是动态计算的,因此精度大于 2dp。
calculated unit Price = 1.255
displayed price = 1.26
如果客户订购了 100 件产品:
actual total (100 * 1.255) = 125.50
displayed total (100 * 1.26) = 126.00
因此,如果客户查看他们的发票并进行数学计算,他们会发现他们的费用低于 50 便士,因为我将向他们收取 125.50 英镑,但他们会自己计算并认为应该向他们收费126.00 英镑。
我认为解决此问题的最简单方法是截断或舍入计算出的单价,例如显示和帐户将匹配的意思ROUND(1.255, 2)
。TRUNCATE(1.255, 2)
这对于非常少量的产品来说不是问题,但是当客户订购更多产品时,它确实会变得很重要。
问题是我不想向客户收取 125.00 英镑或 126.00 英镑的费用,我想为 100 件商品向他们收取 125.50 英镑。
有什么想法,或者我应该简单地以 3dp 而不是 2dp 向客户显示价格,而是四舍五入?