是这样的 我的SQL数据库里一个字段是float类型的 我添加进去为10 但是在VB中显示为10.199999999999.
我想让他在VB中显示为10.有的数据是小数所以要用float。用其他的格式貌似如:0.02这样的数据会显示为.02.求帮助Sqlstr="select[IP_Addres...
我想让他在VB中显示为10.有的数据是小数所以要用float。用其他的格式貌似如:0.02这样的数据会显示为 .02.求帮助
Sqlstr = "select [IP_Address],[ON_Date],[ON_Time],[DO_RO],[DO_Num]" & _
" from pur_RO where ON_Date>='" & StarDate & "'and ON_Date<= '" & EndDate & "'"
就是DO_RO这里的数据有点出入。我贴两张图。各位帮忙看下。
可以看看图片中的时间对应的数据。求帮忙解决。图一死VB中查询的。图2是sql中查询的 展开
Sqlstr = "select [IP_Address],[ON_Date],[ON_Time],[DO_RO],[DO_Num]" & _
" from pur_RO where ON_Date>='" & StarDate & "'and ON_Date<= '" & EndDate & "'"
就是DO_RO这里的数据有点出入。我贴两张图。各位帮忙看下。
可以看看图片中的时间对应的数据。求帮忙解决。图一死VB中查询的。图2是sql中查询的 展开
3个回答
展开全部
这个是二进制浮点数的不精确性造成的,但是我没有见到过误差这么大的。
主要原因就是二进制标示浮点数的时候,是由两部分构成的,就是尾数和阶码构成
二进制0.1表示十进制0.5
但是十进制0.1就不能够精确地用二进制标示了
需要对数值进行精确地小数计算,建议用NUMERIC类型
主要原因就是二进制标示浮点数的时候,是由两部分构成的,就是尾数和阶码构成
二进制0.1表示十进制0.5
但是十进制0.1就不能够精确地用二进制标示了
需要对数值进行精确地小数计算,建议用NUMERIC类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在VB程序采用Format处理即可;
如
If objRes.Fields(i).Type = adNumeric Then
Text1.text = Format(objRes.Fields(i), “0.00”)
Else
Text1.text= objRes.Fields(i)
End If
如
If objRes.Fields(i).Type = adNumeric Then
Text1.text = Format(objRes.Fields(i), “0.00”)
Else
Text1.text= objRes.Fields(i)
End If
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用DECIMAL或者NUMERIC类型
追问
用这两中类型的话在VB中0.0X这样的数据会显示为 .0X。还有其他的办法吗?主要问题是我输入的数据不是小数点后16为有效数字。我输入是小数点后两位有效数字的。为什么他返回给我的那么长呢。能帮忙解释下吗。有点晕。在线等
追答
DECIMAL 可以指定小数位数是几位啊,例如:decimal (15 5),表示共有15 位数,其中整数10 位,小数为5位,你不要使用默认值就好了。
NUMERIC也类似。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询