以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  为何数值已转换函数还会四舍五入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89866)

--  作者:clchen
--  发布时间:2016/8/31 13:56:00
--  为何数值已转换函数还会四舍五入
为何数值已转换函数还会四舍五入
图片点击可在新窗口打开查看此主题相关图片如下:u~l2a%e@ym8_fopjeb7a7as.png
图片点击可在新窗口打开查看
Dim je As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim sfdz As String = Tables("对账列表_Table1").Current("是否对账")
If sfdz = False Then
    Dim num As Decimal
    Dim sum As Decimal
    If je.text <> "" Then
        num =CDec(je.Text)      
End If
    If e.Row.Checked  Then
        num = num + e.Row("金额")
        je.text = num
    Else
        num = CDec(je.text)
        num = num  - e.Row("金额")
        je.text = num
    End If
    For Each r As Row In  e.Table.GetCheckedRows
        sum += 1
    Next
Else
    
End If

--  作者:有点蓝
--  发布时间:2016/8/31 14:48:00
--  
试试用Format
je.text = Format(num,"##.######")


--  作者:clchen
--  发布时间:2016/8/31 15:01:00
--  
这个方法 试过了 报错 不能将“”字符串转换
--  作者:有点蓝
--  发布时间:2016/8/31 15:13:00
--  
报什么错误?如果是数字format不应该出错的
--  作者:clchen
--  发布时间:2016/8/31 15:20:00
--  
还是一样啊 得到的值还是 四舍五入

图片点击可在新窗口打开查看此主题相关图片如下:w{rn%aoerl`7wb{b64ah5v.png
图片点击可在新窗口打开查看
Dim je As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim sfdz As String = Tables("对账列表_Table1").Current("是否对账")
If sfdz = False Then
    Dim num As Decimal
    Dim sum As Decimal
    If je.text <> "" Then
        num =CDec(je.Text)
    End If
    If e.Row.Checked  Then
        num = num + e.Row("金额")
        je.text = Format(num,"##.######")
    Else
        num = CDec(je.text)
        num = num  - e.Row("金额")
        je.text = Format(num,"##.######")
    End If
    For Each r As Row In  e.Table.GetCheckedRows
        sum += 1
    Next
Else
End If


--  作者:有点蓝
--  发布时间:2016/8/31 15:32:00
--  
测试没有问题。上例子瞧瞧
--  作者:clchen
--  发布时间:2016/8/31 15:35:00
--  
上图的金额是 884.3094
我勾选了 两条一样的  也就是说 
884.3094 * 2 = 1768.6188
现在得到的值却是 1768.619

为什么会四舍五入呢??

--  作者:有点蓝
--  发布时间:2016/8/31 15:35:00
--  
请上例子测试
--  作者:clchen
--  发布时间:2016/8/31 17:33:00
--  
例子 没做成功 就是勾选复选框时计算金额 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb