MySQL格式和数学货币,精度大于2dp

时间:2013-01-20 14:35:55

标签: mysql math currency currency-formatting

我正在寻找一种正确的格式,并在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,而是总计?

1 个答案:

答案 0 :(得分:1)

通过舍入单价,您正在破坏信息。正如您所建议的那样,解决此问题的唯一方法是全面向客户显示单价。