asp里读取每一条记录里一个字段循环累加求总和得到的结果和正确结果有小小的差距?
我做了一个asp程序,从一个开发票明细数据库表里读取每一条记录里的“实缴额”循环累加,但是最后得到的结果不光小数部分不见了,就是整数部分与我用计算器算出来的正确结果也有一...
我做了一个asp程序,从一个开发票明细数据库表里读取每一条记录里的“实缴额”循环累加,但是最后得到的结果不光小数部分不见了,就是整数部分与我用计算器算出来的正确结果也有一点点微小的差距,请问这是怎么回事?读取的都是比较大的数,比如百万,千万这样的数据。
我读取的代码如下:
dim a
a=0
do while not rs.eof or rs.bof
a=a+round(csng(rs("shijiao")),2) ‘因为shijiao是字符型,所以读取出来转换一下’
rs.movenext
loop
response.write a
上边3个记录数据加起来,最后得到的左下角的累计数竟然不见了小数,而且如果数据越大,比如上亿,下边的累计和就和正确的差距越大。 展开
我读取的代码如下:
dim a
a=0
do while not rs.eof or rs.bof
a=a+round(csng(rs("shijiao")),2) ‘因为shijiao是字符型,所以读取出来转换一下’
rs.movenext
loop
response.write a
上边3个记录数据加起来,最后得到的左下角的累计数竟然不见了小数,而且如果数据越大,比如上亿,下边的累计和就和正确的差距越大。 展开
展开全部
select*from[tablename]where(price>=100andprice=200andprice=300andprice<=399)是这意思吗?
追问
跟查询没关系,我是按照顺序每一条记录都读取出来,然后累计,读取出来的时候是字符型数字串,然后用了一个csng()函数转换为单精度数值型,然后用了一个round()函数保留了2位小数,然后进行累加,我发现当参与运算的数据是百万以上,比如千万,亿级别的时候,得到的累计和就不那么正确了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询