以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]四舍五入的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=17980)

--  作者:新福星
--  发布时间:2012/3/30 6:00:00
--  [求助]四舍五入的问题

帮助材料中介绍,四舍五入的方法 是Convert([数量] * [单价] * (1 - [折扣]) * 100, \'System.Int64\') / 100  。其中引用 \'System.Int64\'时出错,应该怎么引用呢?


--  作者:狐狸爸爸
--  发布时间:2012/3/30 8:28:00
--  
我测试没有问题
--  作者:程兴刚
--  发布时间:2012/3/30 8:36:00
--  
检查一下,是不是IsNull的问题造成的,帮助中也是这样……*(1-IsNull([折扣],0))
--  作者:新福星
--  发布时间:2012/3/30 11:53:00
--  
\'System.Int64\' 文中的\'怎么加上去啊?一加不就成为注释语句了么?
--  作者:新福星
--  发布时间:2012/3/30 14:54:00
--  
图片中程序源码和发生错误信息,请老师看看错在哪?
--  作者:新福星
--  发布时间:2012/3/30 14:56:00
--  
上传的附件咋看不见呢?
--  作者:新福星
--  发布时间:2012/3/30 14:59:00
--  
If e.DataCol.Name = "折让" Or e.DataCol.Name = "税率" Then
    Dim a As Double
    a= e.DataRow("税前金额")*(1+e.DataRow("税率")/100) -e.DataRow("折让")
    Convert(a*100, \'System.Int64\') / 100
    e.DataRow("结算金额")= a
    \'Convert([数量] * [单价] * (1 - [折扣]) * 100, \'System.Int64\') / 100
End If
这是源码出错哪错了?我引用的不对,不知道怎么引用 Convert

--  作者:程兴刚
--  发布时间:2012/3/30 15:04:00
--  

代码和表达式混淆:

 

If e.DataCol.Name = "折让" Or e.DataCol.Name = "税率" Then
      e.DataRow("结算金额")= format(e.DataRow("税前金额")*(1+e.DataRow("税率")/100 -e.DataRow("折让")),"0.00")
End If

--  作者:唐尸三摆手
--  发布时间:2012/3/30 15:07:00
--  

直接算不是更方便吗?

If e.DataCol.Name = "折让" Or e.DataCol.Name = "税率" Then
    e.DataRow("结算金额")= Round2(e.DataRow("税前金额")*(1+e.DataRow("税率")/100) -e.DataRow("折让"),2)
End If


--  作者:新福星
--  发布时间:2012/3/30 19:39:00
--  
谢谢各位老师