以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求整数与余数 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41135) |
-- 作者:tj-pacer -- 发布时间:2013/10/12 8:45:00 -- 求整数与余数 用表达式,两列的值相除,得出含小数的值,如何实现整数与小数分开,各占一列。 |
-- 作者:Bin -- 发布时间:2013/10/12 9:15:00 -- 使用代码吧,表达式不好办. 在DataColChanged事件中 if e.datacol.name="第一列" orElse e.datacol.name="第二列" then if e.datarow.isnull("第一列")=false andAlso e.datarow.isnull("第二列")=false then dim s as string = e.datarow("第一列")/e.datarow("第二列") dim ss as string() = s.split(".") if ss.length=2 then e.datarow("第三列")=ss(0) e.datarow("第四列")=ss(1) else e.datarow("第三列")=s end if end if end if
|
-- 作者:程兴刚 -- 发布时间:2013/10/12 9:23:00 -- 试试 n mod 1 和 n \\1 ,n为您的双精度小数 |
-- 作者:tj-pacer -- 发布时间:2013/10/12 9:58:00 -- 以下是引用Bin在2013-10-12 9:15:00的发言:
使用代码吧,表达式不好办. 在DataColChanged事件中
if e.datacol.name="第一列" orElse e.datacol.name="第二列" then
if e.datarow.isnull("第一列")=false andAlso e.datarow.isnull("第二列")=false then
dim s as string = e.datarow("第一列")/e.datarow("第二列")
dim ss as string() = s.split(".")
if ss.length=2 then
e.datarow("第三列")=ss(0)
e.datarow("第四列")=ss(1)
else
e.datarow("第三列")=s
end if
end if
end if 谢谢!用代码可行,整数部分完全可用,小数列出现位数不同的余数,希望将第四列的值生成"0.XXXX"(保留小数点后4位), 而不是现在的"XXXX" |
-- 作者:Bin -- 发布时间:2013/10/12 10:04:00 -- e.datarow("第四列")=ss(1) 改为 e.datarow("第四列")="0." & ss(1).SubString(0,IIF(ss(1).length>=4,4,ss(1).length))
|
-- 作者:tj-pacer -- 发布时间:2013/10/12 13:46:00 -- 搞定了,再次感谢! |
-- 作者:程兴刚 -- 发布时间:2013/10/12 13:56:00 -- 其实,第四列属性小数设为4位,固定小数位数设为True即可! |