编程时存储“百分比”的最佳方法是什么?

时间:2014-03-28 20:05:32

标签: maintainability

我有一个经常处理“百分比”的财务应用程序。我们使用“十进制”类型来避免舍入错误。我的问题是:

如果我的数量代表76%,最好将其存储为0.7676吗?

此外,从代码可维护性的角度来看,有哪些优点和/或缺点?有没有这方面的惯例?

1 个答案:

答案 0 :(得分:4)

如果百分比只是问题域的一小部分,我可能会坚持使用原始数字。

PerCent 字面意思是每百,并且是十进制数字;例如76 % 等于 0.76。因此,在没有units of measure support in the programming language itself的情况下,我会将百分比表示为十进制数。

这也意味着您不需要执行特殊算术来计算百分比,但是如果您需要以百分比显示数字,需要乘以100。

如果百分比是问题域的核心部分,您应该考虑放弃Primitive Obsession,而是引入正确的Value Object

尽管如此,即使你引入了一个包含原始数字转换的Percent值对象,你仍然会遇到潜在的程序员错误,因为数字0.9本身就意味着90 %0.9 %取决于您选择如何解释它。

最后,我最好的建议是使用适当的单元测试来覆盖您的代码库,以便锁定转换代码。