以文本方式查看主题 - 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 -- 还是一样啊 得到的值还是 四舍五入 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 -- 例子 没做成功 就是勾选复选框时计算金额
|