作者paul420 (深呼吸)
看板Visual_Basic
标题[VBA ] 可以帮我看一下以下的问题吗?
时间Fri Dec 5 23:44:09 2008
不好意思 小弟刚开始学写程式
下面这个程式不知道问题在哪 可以有高手帮我看一下吗?
如果对的话 应该到期日2009/12/5
利率0.1 到期现金流量110
跑出来答案应该是100
结果却是0....麻烦帮我看一下好吗 谢谢!
Public Sub discountvalue()
Dim cf, rate As Double
Dim maturity, today As Date
Dim p As Double
maturity = InputBox("请输入到期日")
today = Date
cf = InputBox("请输入期末到期现金流量")
rate = Val(InputBox("请输入利率"))
If (maturity <= (365 + today)) Then
p = simplevalue
Else
p = compvalue
End If
MsgBox p
End Sub
------------------------------------------------------------------------
Public Function simplevalue()
Dim cf As Double, rate As Double, maturity As Date
simplevalue = cf / (1 + rate * (maturity - Date) / 365)
End Function
------------------------------------------------------------------------
Public Function compvalue()
Dim cf As Double, rate As Double, maturity As Double
compvalue = cf / ((1 + rate) ^ ((maturity - Date) / 365))
End Function
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.234.107
※ paul420:转录至看板 Wanted 12/06 00:01
1F:→ chiaho:Functon里面的 cf, rate, maturity变数跟主程式的变数不同 12/06 00:47
2F:→ chiaho:改成传参数到function里面就可以了~~~ 12/06 00:47
3F:→ chiaho:不使用传参数的话,那你把cf, rate, maturity改成全域变数 12/06 00:48
4F:→ chiaho:VB我很久没写了~~~剩下来的,请别人帮你吧~~~ 12/06 00:49
5F:→ paul420:谢谢您~ 12/06 00:51