是这样的 我的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中查询的
展开
 我来答
nietiezheng
2013-03-06 · TA获得超过5536个赞
知道大有可为答主
回答量:3132
采纳率:87%
帮助的人:1232万
展开全部
这个是二进制浮点数的不精确性造成的,但是我没有见到过误差这么大的。
主要原因就是二进制标示浮点数的时候,是由两部分构成的,就是尾数和阶码构成
二进制0.1表示十进制0.5
但是十进制0.1就不能够精确地用二进制标示了

需要对数值进行精确地小数计算,建议用NUMERIC类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
香软软地瓜2u
2013-03-06
知道答主
回答量:22
采纳率:0%
帮助的人:6.3万
展开全部
在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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
airson79
2013-03-06 · TA获得超过835个赞
知道小有建树答主
回答量:767
采纳率:100%
帮助的人:538万
展开全部
用DECIMAL或者NUMERIC类型
追问
用这两中类型的话在VB中0.0X这样的数据会显示为 .0X。还有其他的办法吗?主要问题是我输入的数据不是小数点后16为有效数字。我输入是小数点后两位有效数字的。为什么他返回给我的那么长呢。能帮忙解释下吗。有点晕。在线等
追答
DECIMAL 可以指定小数位数是几位啊,例如:decimal (15 5),表示共有15 位数,其中整数10 位,小数为5位,你不要使用默认值就好了。
NUMERIC也类似。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式