我有一个经常处理"百分比"的金融应用程序。我们使用"小数"类型来避免舍入错误。我的问题是
如果我有一个数量代表76%,是将其存储为0.76
还是76
更好?
此外,从代码可维护性的角度来看,优点和/或缺点是什么?这有什么惯例吗?
如果百分比只是问题域的一小部分,我可能会坚持使用原始数字。
PerCent字面意思是每一百个 ,是一个十进制数;例如76 %
= 0.76
。因此,在编程语言本身不支持度量单位的情况下,我将百分比表示为十进制数。
这也意味着您不需要执行特殊的算术来计算百分比,但是如果您需要以百分比显示数字,则将需要乘以100。
如果百分比是问题域的一个非常重要的部分,您应该考虑放弃Primitive Obsession,而引入一个合适的Value Object。
然而,即使你引入了一个Percent
值对象,它包含了与原始数字之间的转换,你仍然会被潜在的程序员错误所困扰,因为数字0.9
本身可能意味着90 %
或0.9 %
,这取决于你选择如何解释它。