Skip to main content
 首页 » 编程设计

Python之公认的货币计算技术是什么

2025年05月04日9cloudgamer

举个例子:

>>> from decimal import Decimal 
>>> nrml_price = Decimal('0.59') 
>>> discounted = nrml_price / 3  # Taking 2/3 off the price with a coupon 
Decimal('0.1966666666666666666666666667')  # Customers don't have fractions of a penny 
>>> (nrml_price / 3).quantize(D('0.00'))  # So I quantize to get 2 decimal places 
Decimal('0.20')  # Ca fait combien? Cest vingt cents. 

问题是,从技术上讲,我现在向客户收取的价格高于预期价格,尽管不到 3/10 美分,但这在技术上是不正确的。

我该如何克服这样的问题?我是否将其视为生活中的一个事实而忽略它,或者是否有一种可以接受的方式来做这种事情(例如,总是向客户收取最近的一分钱)?

请您参考如下方法:

“有没有一种公认的方法来做这种事情”

是的。会计师一直这样做。

事实上,COBOL 在这方面做得非常好。

Python decimal 包有一堆舍入选项,您可以在上下文中设置。 decimal.ROUND_HALF_DOWN 或 decimal.ROUND_HALF_EVEN 选项几乎总是您在上下文中想要的。

在构建像这样的零售管理软件时,会有公司政策到位,由真实的会计师管理,这些政策规定了应该做什么。

询问从事该业务的会计师政策是什么。