读书人

为什么小弟我在数据窗口中输入0.575而

发布时间: 2012-03-07 09:13:51 作者: rapoo

为什么我在数据窗口中输入0.575而用变量把它取出时变成0.57499999996,是为什么?
谢谢!

[解决办法]
你的数据类型不要用float(这个类型不准确).
建议用number或decimal型.
[解决办法]
decimal是这样的吧,需要round()函数指定下小数位
[解决办法]

探讨
我用的是decimal

[解决办法]
探讨
数据窗口中输入的是0.575
用变量取出round(变量,2)却变成0.57 应该是0.58
注:变量和字段类型都是decimal

[解决办法]
数据库使用accsee会出现这样的情况,具体原因不明
[解决办法]
在数据窗口格式里选0.000试试
[解决办法]
哎,PB这个问题不知道啥时候能解决。老问题了。6.5就有,9.0还是这样,现在11.5不知道有没有解决这个问题。我都定义成dec{6}
[解决办法]
输入输出都用mask,数据类型声明可用 dec{小数位数}
[解决办法]
//1 这样没问题
dec{3} ldec
ldec=dw_1.getitemnumber(1,'dectest')
if ldec=0.575 then
messagebox('',ldec)
end if

//2 这样和lz的情况相同
dec ldec
ldec=dw_1.getitemnumber(1,'dectest')
if ldec=0.575 then
messagebox('',ldec)
end if
[解决办法]
以前碰到过这种情况,可想去解决时,又没出现这种事情,不好判断。
[解决办法]
#12楼的朋友已经说明白了,decimal表示的时候最好指定精度,一般情况下使用dec{5}就可以了;

读书人网 >PB

热点推荐