以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 计分进角 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=94578) |
-- 作者:dogman -- 发布时间:2016/12/27 13:09:00 -- 计分进角 请问在表达式中怎样写计分进角的代码? |
-- 作者:wyz20130512 -- 发布时间:2016/12/27 13:53:00 -- 何为计分进角?是不是只要“分"不为零都入为"角"? |
-- 作者:有点色 -- 发布时间:2016/12/27 14:21:00 -- 参考
Convert((某列+0.05) * 10, \'System.Int64\') / 10 |
-- 作者:dogman -- 发布时间:2016/12/27 15:20:00 -- 社保缴费是这样的。按基数乘以百分比后,比如是100.01元的,计分进角后,收的是100.10元。 而如果是100.009元的,计分进角后收的是100.00元。因为没分,分以下的就不进位。 和平常用的ROUNDUP函数还是有区别的。 严格的说,应叫“见分进角”。
|
-- 作者:wyz20130512 -- 发布时间:2016/12/27 15:44:00 -- With Tables("XXX") For Each r As Row In .Rows r("金额") = Math.Ceiling(r("金额")*10)/10 Next End With
|
-- 作者:有点色 -- 发布时间:2016/12/27 15:46:00 -- Convert((某列+0.04) * 10, \'System.Int64\') / 10 |
-- 作者:mojo -- 发布时间:2018/11/12 15:36:00 -- Convert((某列+0.04) * 10, \'System.Int64\') / 10
以上见分进角代码在实际过程中还是有错。 列如:缴交基数为17122,缴交比例为0.5%。 即:17122*0.5%=85.61 Convert((17122*0.005+0.04) * 10, \'System.Int64\') / 10 应该呈现结果为85.7 但实际代码显示是85.6 |
-- 作者:有点甜 -- 发布时间:2018/11/12 15:39:00 --
Convert((某列+0.04999999) * 10, \'System.Int64\') / 10 |
-- 作者:mojo -- 发布时间:2019/4/3 22:31:00 -- 以上见分进角代码在实际过程中还是有错。 列如:缴交基数为17122,缴交比例为0.5%。 即:17122*0.5%=85.61 Convert((17122*0.005+0.04999999) * 10, \'System.Int64\') / 10 代码显示是85.7 正确了 但是对于0分的也进角了
列如:缴交基数为12141,缴交比例为0.5%。 即:12141*0.5%=60.705 Convert((12141*0.005+0.04999999) * 10, \'System.Int64\') / 10 应该呈现结果为60.7 但实际代码显示是60.8 |
-- 作者:有点甜 -- 发布时间:2019/4/3 23:17:00 -- 试试
Convert((某列-0.004999+0.0499) * 10, \'System.Int64\') / 10 |