- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在将一些相当复杂的计算从 Excel 电子表格转换为 PHP。我卡在 Excel 的 FV 函数的转换上,它是这样定义的:
FV( interest_rate, number_payments, payment, PV, Type )
我已经为此工作了 2 个小时,一定有什么东西是我遗漏的。本质上,我需要将此功能复制到等效的 PHP 函数中,并采用上述所有参数。
如有任何帮助,将不胜感激。
最佳答案
根据PHPExcel函数库稍作修改:
/**
* FV
*
* Returns the Future Value of a cash flow with constant payments and interest rate (annuities).
*
* @param float $rate Interest rate per period
* @param int $nper Number of periods
* @param float $pmt Periodic payment (annuity)
* @param float $pv Present Value
* @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period
* @return float
*/
function FV($rate = 0, $nper = 0, $pmt = 0, $pv = 0, $type = 0) {
// Validate parameters
if ($type != 0 && $type != 1) {
return False;
}
// Calculate
if ($rate != 0.0) {
return -$pv * pow(1 + $rate, $nper) - $pmt * (1 + $rate * $type) * (pow(1 + $rate, $nper) - 1) / $rate;
} else {
return -$pv - $pmt * $nper;
}
} // function FV()
echo FV(0.0149562574418, 4, 43.875, -250);
返回 85.818510876629
//单元测试
class ExcelTest extends \PHPUnit_Framework_TestCase
{
public function test_it_calculates_fv_value()
{
$test_data = [
[ 0.005, 10, -200, -500, 1, 2581.4033740601 ],
[ 0.01, 12, -1000, null, null, 12682.503013197 ],
[ 0.009166666667, 35, -2000, null, 1, 82846.246372418 ],
[ 0.005, 12, -100, -1000, 1, 2301.4018303409 ],
[ 0.004166666667, 60, -1000, null, null, 68006.082841536 ],
[ 0.025, 16, -2000, 0, 1, 39729.460894166 ],
[ 0.0, 12, -100, -100, null, 1300 ]
];
$test_case_id = 0;
foreach($test_data as $test_case) {
$test_case_id++;
list($rate, $nper, $pmt, $pv, $type, $expected_result) = $test_case;
$this->assertEquals($expected_result, Excel::FV($rate, $nper, $pmt, $pv, $type), "Test case $test_case_id failed", 0.0000001);
}
}
}
关于php - 如何在 PHP 中复制 Excel FV 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3321228/
当我调用 glUniform2fv 时到底会发生什么? 它是同步复制传递的缓冲区还是只是接受指针并稍后使用该数据?它保留缓冲区吗? 换句话说:在函数中传递本地创建的或非保留的缓冲区是否安全,或者由我来
我接到了一项任务,要将一个简单的电子表格转换为要在网站上使用的 HTML 表单,该任务将使用 JavaScript 进行一些计算。这根本没问题,除非我对财务功能一无所知,而且我遇到了 FV( futu
我负责表单的验证。我使用 BootstrapValidator v0.4.5 库。我想触发“success.form.fv”事件来发送表单数据。 有人可以帮我修复这段代码以进入处理程序并查看警报吗?
我正在尝试计算客户的终生值(value)。假设一位新客户每年支付 10 万美元并保留 5 年。让我们以 10% 的利率对 future 几年的付款进行折扣。 这是手动计算: Year 1 $
我想知道下面的命令到底是什么意思?? rm -fv csf.tgz 我输入这个命令作为在我的 virtualmin 上安装 csf 的第一步,但我不知道确切的含义。我刚刚复制并粘贴了它。 最佳答案 r
我正在将一些相当复杂的计算从 Excel 电子表格转换为 PHP。我卡在 Excel 的 FV 函数的转换上,它是这样定义的: FV( interest_rate, number_payments,
我是一名优秀的程序员,十分优秀!