您的位置:程序门 -> vb -> 数据库(包含打印,安装,报表)



奇怪的比较问题。。。。


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


奇怪的比较问题。。。。
发表于:2008-01-08 15:40:02 楼主
我的窗体有三个text控件,三个控件的内容为:

text1.text=59565.70
text2.text=50910.87
text3.text=8654.83


我用if   val(text1.text) <> val(text2.text)+val(text3.text)   then
              ......
        end   if

为什么if语句为true   ,照道理不是相等的么?


而我这样写round(if   val(text1.text),2) <> round(val(text2.text)+val(text3.text),2)   then
              ......
              end   if
就能相等


为什么?
发表于:2008-01-08 16:19:401楼 得分:0
不明白你想表达什么?
发表于:2008-01-08 16:24:512楼 得分:0
baidu一下浮点数误差
发表于:2008-01-08 18:15:503楼 得分:0
因为浮点数的比较是有误差的。最好用差值跟0比较。
发表于:2008-01-08 19:08:304楼 得分:0
if   ccur(text1.text)   <>   ccur(text2.text)   +   ccur(text3.text)   then  
    ......  
end   if
发表于:2008-01-08 20:19:245楼 得分:0
假如小数位不超过4位   可以采用ls的方法
当然整数部分也不能太大
数的范围是   -2^63/10000   to   (2^63-1)/10000
发表于:2008-01-09 08:56:476楼 得分:0
谢谢各位,又懂了一样


快速检索

最新资讯
热门点击