Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:赋值赋得小数不见了,是程序bug吗?

1楼
lrj03 发表于:2011/5/20 10:38:00

 Dim dr As DataRow
   dr=DataTables("明细清单").DataRows(0)
   Dim S0 As Double=0
   Dim s1 As Double=0
   Dim s2 As Double=0
   Dim s3 As Double=0
   Dim ye As Double=0


      For Each dr  In DataTables("明细清单").DataRows
        If dr("类型")="付款计划" AndAlso dr("期数")<Vars("qishu")  Then
              S0 = S0 + dr("金额")
        End If
        If dr("类型")="付款计划" AndAlso dr("期数")=Vars("qishu")  Then
              S1 = S1 + dr("金额")
        End If
        If dr("类型")="收款" AndAlso dr("期数")<Vars("qishu")+0.5  Then
              S3 = S3 + dr("金额")
        End If

      Next
              s2=s0+s1
              ye=s3-s2

   Dim r As Row
   r=Tables("期数汇总").Rows(0)
   r("金额")=s0
   r=Tables("期数汇总").Rows(1)
   r("金额")=s2
    
output.show(s2)
output.show(r("金额"))
问题出在红色标记的语句中,output.show(s2)=1604672.42

                                 ,output.show(r("金额"))=1604672

     小数点后的.42不见了,这是怎么回事呢?怎么避免这状况?用乘100的值去运算,最后再除100来解决这问题吗?

[此贴子已经被作者于2011-5-20 10:48:42编辑过]
2楼
狐狸爸爸 发表于:2011/5/20 10:50:00

金额列的数据类型不对,改为双精度小数

3楼
lrj03 发表于:2011/5/20 11:05:00
谢谢,原本"金额"列是设为单精度小数,现改为双精度小数,问题解决了
共3 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 2 queries.