是否有用于小数计算的库,尤其是Pow(decimal, decimal)
方法?我找不到。
它可以是免费的,也可以是商业的,只要有一个。
注意:我自己不会,不能用for循环,不能用Math.Pow
, Math.Exp
or Math .Log
,因为他们都取double
,而我不能用double
。我不能使用系列,因为它会像 double
一样精确。
最佳答案
One of the multipliyers is a rate : 1/rate^(days/365).
没有十进制幂函数的原因是因为使用 decimal
进行计算毫无意义。使用 double
。
请记住,小数点是为了确保您对可以完全表示为短十进制数的值进行精确算术运算。对于 rate
和 days
的合理值,任何其他子表达式的值显然不会精确地表示为短十进制值。您将要处理不精确的值,因此请使用专为快速计算稍微不精确的值而设计的类型,例如 double。
以 double 计算的结果将以某种方式相差数十亿分之一美分。谁在乎? 稍后您将把错误四舍五入。以 double 的形式进行费率计算。一旦你有一个结果需要重新换回货币,将结果乘以一万,四舍五入到最接近的整数,将其转换为小数,然后再除以一万,你将得到精确到小数点后四位的结果,这对于财务计算来说应该足够了。
关于c# - 是否有用于 Pow(decimal, decimal) 的数学 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6425501/