问个函数

vrv0129 2004-07-16 04:11:41
就是无条件进位函数
比如:1.2变为2,2.002变为3,4.8变为5
...全文
129 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2004-07-17
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim x As Single
x = CSng(InputBox("please enter a number:", "info", "-3.14"))
MsgBox Int(x) - (Int(x) < x)
End Sub
qdhuxp 2004-07-17
  • 打赏
  • 举报
回复
都可以
熊孩子开学喽 2004-07-17
  • 打赏
  • 举报
回复
问题就是:无条件进位函数
既然是要进位,那么说明一定是有小数的,既然是有小数的,赋给一个整数之后小数部分就被整掉,既然还要进位,那就直接加1阿,所以我的办法是对的。下面写出函数形式。
Function AutoAdd(BYVAL FloatNumber as Double) as Long
AutoAdd=FloatNumber +1
End Function
wqxu 2004-07-16
  • 打赏
  • 举报
回复
Private Function Intdata(data As Single) As Long
if data<0 then '负数时,int就可以了
Intdata=int(data)
else '正数时
if data>int(data) then '当有小数点时
Intdata=int(data)+1
else '当没有小数点时,即data=int(data)时
intdata=int(data)
end if
end if

end function
gdami 2004-07-16
  • 打赏
  • 举报
回复
起码还要考虑整数情况吧?

你的也太简单了点。
熊孩子开学喽 2004-07-16
  • 打赏
  • 举报
回复
很简单啊
DIM A AS SINGLE
DIM B AS LONG
A=1.2
B=A+1
连函数都不用,VB直接帮你转好了。
gdami 2004-07-16
  • 打赏
  • 举报
回复
有负数情况吗?

num$ = 2.123
If num > Int(num) Then num = Int(num) + 1
MsgBox num
victorycyz 2004-07-16
  • 打赏
  • 举报
回复

如果是负数呢?
tztz520 2004-07-16
  • 打赏
  • 举报
回复
Private Function Ina(data As Single) As Long

If data = Fix(data) Then
Ina = data
Else
Ina = Fix(data) + 1
End If
End Function

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧