+ -
当前位置:首页 → 问答吧 → 关于如何将数值取整数的函数round和floor和ceiling。

关于如何将数值取整数的函数round和floor和ceiling。

时间:2003-05-31

来源:互联网

不少人在实际操作中总会遇到需要将数值取整的问题。如,我们计算一些金额时:1111*0.008=8.888这时准确的数值时8.888,但作为对金钱的要求是精确到分的话就是说保留两位小数。这时就需要使用round()函数。1、 round(数值,数值[整数,表示需要保留的位数])。需要得到8.89元,就是这样select round(1111*0.008,2)需要得到9,就是 select round(1111*0.008,0)如果需要不保留小数,而是获得不大或不小于数值的整数就分别需要用到floor()和ceiling()函数,这里是不考虑四舍五入的情况比如:对8.88取整要得到8或9就这样select floor(8.88)//等于8select ceiling(8.88)//等于9

作者: loadhigh   发布时间: 2003-05-31

不如roundup,rounddown两个函数好记

作者: pangban   发布时间: 2003-06-03

上述代码都需要安装电子表格组件,如果没有就无法使用在Access中用可直接用内置得fix或者int来写以下为了方便,写了个自定义函数Public Function 四舍五入(源数据 As Currency, 小数位数 As Integer) As Currency'自定义四舍五入函数'由于 源数据 的数据类型声明和 返回值 的数据类型声明,所以小数最多定义到4位'如果需要更长可定义为double四舍五入 = Fix((源数据 + Sgn(源数据) * 0.5 / 10 ^ 小数位数) * 10 ^ 小数位数) / 10 ^ 小数位数End Function

[此贴子已经被作者于2003-6-5 10:59:02编辑过]

作者: cg1   发布时间: 2003-06-05

我所说的是在SQLserver数据库系统下,其内置的函数。和excel、access无关。

作者: loadhigh   发布时间: 2003-06-05

奥,我还以为你是说access了,因为你前面也没说sql server,这个板块看来有点乱,到底是Access还是sql server?一般用Access得人看到这个板块得标题都会以为这里主要是谈论 adp得

作者: cg1   发布时间: 2003-06-05

已经晕了

[em06]

作者: nukecrack   发布时间: 2008-01-19

学习了,正好用得着,公司购进计划,呵呵

[em04]

作者: 笑清风   发布时间: 2008-07-24

好像蛮复杂啊

作者: lanxiangma   发布时间: 2010-11-17

热门下载

更多