有一个奇怪的问题:
请高手指教:
在vb里
#16:20:00#/#00:01:00# 等于 980
Clng(#16:20:00#/#00:01:00#)也等于980
int(#16:20:00#/#00:01:00#) 却等于979为什么???
请高手指教:
在vb里
#16:20:00#/#00:01:00# 等于 980
Clng(#16:20:00#/#00:01:00#)也等于980
int(#16:20:00#/#00:01:00#) 却等于979为什么???
解决方案 »
- 怎么让窗口的最大最小按钮消失?
- 我设置文本框一获得焦点文字就被选中,但我鼠标直接点过去直接一拖.....
- 虚拟VPN技术解决c/s架构软件网络化使用的可行性? 高分
- 在VB中如何打SQLserver数据库打包进去?
- 100元请人用WebBrowser做个浏览器
- 浏览器高手关注:如何获得Web Browser中页面框架(frame iframe)内的元素。
- 我是搞VB的,怎么往深学?
- 大连的程序员有买用友软件源码请进
- 怎样使用cn.Execute str 修改一个字段名
- 怎样让msflexgrid中表格的长度动态可调
- 如何取得Outlook预览窗口的句柄?
- 寻求vb6的msdn,我在网上找版本都不一样了。
Private Sub Command1_Click()
MsgBox (#4:20:00 PM# / #12:01:00 AM#)
MsgBox CLng(#4:20:00 PM# / #12:01:00 AM#)
MsgBox Int(#4:20:00 PM# / #12:01:00 AM#) MsgBox CInt(#4:20:00 PM# / #12:01:00 AM#)
End Sub你使有CInt就不会有问题,区别在于CInt 函数 Integer -32,768 至 32,767,小数部分四舍五入
Int 函数 返回参数的整数部分
我算#16:20:00#/#00:01:00# 就等于 980,后面没有小数了
实际内存中的数值不同造成的比如我用cbl() 或者 和你一样直接计算 #16:20:00#/#00:01:00# 也都是980只要加了int 值就是979,Int 函数返回小于或等于该参数之最大整数,如果这句描述没错的话,
#16:20:00#/#00:01:00# 这个结果本身一定不是整数的
win2000 pro
vb6
我是要算出分钟数,所以用Clng或者Cint都不符和我的要求,但用int出现这个情况
害我调试了半天。
一个是舍掉小数 一个是四舍五入
MyNumber = Int(99.8) ' Returns 99.
979.99999999999999999999999999999999999999999999999999999循环如果转化成DOUBLE因为超过精度.
最终还是被转化为 980
测试系统 WinXP 赛扬800 VB6
不存在所说的问题
而且(#16:20:00#/#00:01:00#)的结果是980.000000000001
win98 se
vb6