明代九边重镇的官员:VB中结果为什么会溢出?请高手指示

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 09:11:11
Private Sub Command4_Click()
Dim z As Single, x As Single, y As Integer, m As Single, n As Single 'z 贷款总额 x 利率 y 期限 m 还本付息 n 付息
x = Val(Text5.Text)
x = x / 100
y = Val(Text6.Text)
Text7.Text = ""
n = Val(Text8.Text)
z = n / ((1 + x) ^ y - 1)
Text4.Text = z
End Sub

把Single全改成Double或Currency
因为Single精度不够,所以会溢出。

(1+x)^y-1应该很接近0了,n/一个接近0的数就可能会溢出,结果太大了