Ria

C#解决execl中的ROUNDUP函数

电脑版发表于:2019/1/18 18:00

最近做物流系统再excel中遇到了ROUNDUP函数:

和四舍五入不一样,它的用途是无论取值后的值是多少,除了0,都向上+1

如  ROUNDUP(2.01,1)  >>  2.1


这种用法在物流行业常用到(不满1公斤按1公斤记算)


进入正题,那么问题来了,在C#中并没有这种的封装的函数,该咋办。。


有个比较取巧的方法

对于RoundUp,因为math或者decimel类的ceiling方法只能向上取到整数,所以我们可以根据要保留的位数乘以与原来的值,

再用ceiling方法去掉后面的小数部分向上取整,再除以刚刚扩大的倍数得到最后需要的值


举个栗子

我们的6.6201要保留三位小数:

6.6201 * 1000 = 6620.1  

C(6620.1) = 6621

6621 / 1000 = 6.621


emmmm,逗Ⅳ楞个起滴了


下班了,溜了溜了


哦!!对了RoundDown和Floor方法同理,真的溜了


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢