这是按照四舍六入五留双规则修约整数的程序。
我编得很复杂,中间变量很多。
但在运行的时候,卡在箭头指示的位置,我不知原因。(在此发问)
另外,请看看我的那个If语句有没有错误,谢谢!
如果谁有更简单的修约程序,或者有办法把编写可以修约小数的程序,欢迎交流!
你这个我运行着没有问题,只有当保留一位时候会出问题,因为b4=0了。
另外,e1=0,2,4....可以用求余函数判断除2余数是否为零来判断奇偶
其实没必要定义那么多变量,可以直接函数套用函数,比如下面的代码:Private Sub Command1_Click()
Dim a As String, b As Integer, c, d, e, f As Single
a = Trim(Text1.Text)
b = Text2.Text
a1 = Val(Mid(a, 1, b))
c = Val(Mid(a, b + 1, 1))
d = Val(Mid(a, b + 2, 1))
e = Val(Mid(a, b - 1, 1))
If c1 <= 4 Then
f = a2
Else
If e1 Mod 2 = 0 And c = 5 And d = 0 Then
f = a1
Else
f = a1 + 1
End If
End If
Print f
End Sub
您这“Print f “到我这好像不行。
在这里是不是应该
Text2.text=str(f)
呢?
抱歉,我自己测试时候图省事直接用print了,而且a1忘记声明了
学校的网速好慢,竟然连击了。
另外,你这个用于修约整数时候把后面的0全给丢掉了,应该给补上。如果要修约小数的话只要找到小数点的位置就可以了。
您那是VB6.0吗?我这里怎么运行得容易卡?
我这两个周末事情特多,暂时不能改进我的程序了。