以文本方式查看主题

-  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