存储利率和复利计算总和的数据类型是什么?

What data type to store interest rates and sums of compound interest calculations?

提问人:KPA 提问时间:6/21/2018 最后编辑:aydowKPA 更新时间:6/21/2018 访问量:1145

问:

我用于货币金额。但是,我想知道将利率放入哪种数据类型。Decimal

如果我将其设置为 ,我将货币金额 () 乘以 ,得到一个 'inexact' 。如果我将其设置为 ,一旦有复利,我就会遇到问题,一旦超过上下文的精度,最终也会得到一个不精确的金额。floatDecimalfloatDecimalDecimalDecimal

我试图找到有关如何节省利率的信息,并看到了一些使用并假设这是常见做法的例子。float

这是否意味着我应该在每个财政年度结束时以“0.01”的精度将任何金额转换为利息(然后使用返回值作为下一年的起始值)?这是编码的正确方法吗?floatDecimal

Python 十进制 浮点精度 货币格式

评论

0赞 Evgeny 6/21/2018
是什么让您认为这些是累积的错误? 在此类计算中不应失去任何精度。您能举例说明您是如何评估精度误差的吗?float
0赞 KPA 6/21/2018
@Evgeny 你是对的。它最终在我所做的示例计算中是相同的数量,并且误差不够大而无法显示出来。但是,您认为(更新的)问题中描述的“每年”转换为十进制是一个好的最佳实践吗?还是应该只在“存储”数据时才进行十进制转换?
0赞 Evgeny 6/21/2018
我认为您还需要将浮点数的舍入包含在您的操作集中,这与使用小数不同。对于更严格的“平衡”操作,您宁愿使用小数,这应该会更严格。为了计算浮点率,您可以对浮点数和圆形执行操作。我认为舍入(去掉微不足道的 ammoints)和十进制表示(克服二进制表示格式)之间存在重要区别。

答: 暂无答案