Python小数取整向下取整、四舍五入、向上取整【分享】

文章推薦指數: 80 %
投票人數:10人

即小数_向上取整 = int ( round ( 小数 + 0.49 ) ) 这里要注意下:Python是支持math.ceil(小数值) 但我们这里是直接用不了的, 因为需要导入import math 模块的,我们 ... Python小数取整向下取整、四舍五入、向上取整【分享】 Python小数取整向下取整、四舍五入、向上取整【分享】 IT技术 金蝶云·星空-BOS平台 Chief关注 21人赞赏了该文章 2755次浏览 编辑于2018年8月29日08:39:56本帖子想要达到的效果:会配置实体服务规则(能用实体服务规则实现的,尽量选用实体服务规则实现),设置实体服务规则的字段必然触发条件,小数类型的可以实现向下取整、四舍五入、向上取整功能。

先看界面测试效果:小数1.0向下取整1.0、四舍五入1.0、向上取整1.0小数1.1向下取整1.0、四舍五入1.0、向上取整2.0小数1.5向下取整1.0、四舍五入2.0、向上取整2.0小数1.99向下取整1.0、四舍五入2.0、向上取整2.0具体设置:添加4个小数字段,分别为“小数”“小数_向下取整“、“小数_四舍五入“、“小数_向上取整“。

单据头添加实体服务规则:实体服务规则,小数字段改变,触发相应的3个字段取数(如果是值更新方式实现,需要配置小数字段的3个值更新服务,并且如果涉及到多个字段每个字段都需要配置值更新,如配置实体服务规则,清晰明了),前提条件:小数字段改变条件小数=小数 字段必然触发条件这里经常有人会问到设置成1=1,这样设置是不会进行执行的,因为实体服务规则的是否需要执行,是需要先判断某个字段值改变了,相应的字段标识是否设置在了实体服务规则的前提条件中,如在里面,才会进行解析判断前提条件,显然设置1=1是不包含任何字段的标识,也就相当于一条无用的实体服务规则配置。

具体的三个计算公式的设置:F_PAIK_Decimal1  =int(  F_PAIK_Decimal  ) 即小数_向下取整  =int(  小数  )  int向下取整F_PAIK_Decimal2  =round(  F_PAIK_Decimal  ) 即小数_四舍五入  =round(  小数  )  round四舍五入F_PAIK_Decimal3  =int(round(  F_PAIK_Decimal  +0.49)  ) 即小数_向上取整  =int(round(  小数  +0.49)  )这里要注意下:Python是支持math.ceil(小数值)但我们这里是直接用不了的,因为需要导入importmath模块的,我们这里就不能进行使用。

因此我们就变通下,因为向下取整和四舍五入是可以直接使用的,通过四舍五入与向下取整做的一个变通,实现向上取整。

完谢谢。

21 赞 212755 评论4 收藏删除 收起 签到



請為這篇文章評分?