你好,我有写ACCESS想请教一下你,关于四舍五入的

内容是:根据缺钞存取款设备占总的存取款设备数量的相应比例扣分,扣完为止。若扣除的是非整数分值,小数点后2位四舍五入。小数点后一位其数字为“0”或“5”,如4台存取款机1台缺钞,扣1.25分,四舍五入为扣1分。有2台机器其中1台缺钞,扣2.5分,这个怎样写,窗体里面宏代码也行,查询里面用sql也行,十分感谢

ROUND

返回某个数字按指定位数取整后的数字。

语法

ROUND(number,num_digits)

Number 需要进行四舍五入的数字。

Num_digits 指定的位数,按此位数进行四舍五入。

说明

如果 num_digits 大于 0,则四舍五入到指定的小数位。
如果 num_digits 等于 0,则四舍五入到最接近的整数。
如果 num_digits 小于 0,则在小数点左侧进行四舍五入。
示例

如果您将示例复制到空白工作表中,可能会更易于理解该示例。

操作方法

创建空白工作簿或工作表。
请在“帮助”主题中选取示例。不要选取行或列标题。

从帮助中选取示例。

按 Ctrl+C。
在工作表中,选中单元格 A1,再按 Ctrl+V。
若要在查看结果和查看返回结果的公式之间切换,请按 Ctrl+`(重音符),或在“工具”菜单上,指向“公式审核”,再单击“公式审核模式”。

1
2
3
4
5
A B
公式 说明(结果)
=ROUND(2.15, 1) 将 2.15 四舍五入到一个小数位 (2.2)
=ROUND(2.149, 1) 将 2.149 四舍五入到一个小数位 (2.1)
=ROUND(-1.475, 2) 将 -1.475 四舍五入到两小数位 (-1.48)
=ROUND(21.5, -1) 将 21.5 四舍五入到小数点左侧一位 (20)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-01
对一个带有小数的数字,进行保留到第n位小数的四舍五入的处理是:
如:保留1位
x = Int(x * 10 + 0.5) / 10
如:保留2位
x = Int(x * 100 + 0.5) / 100
如:保留2位
x = Int(x * 1000 + 0.5) / 1000
以此类推
第2个回答  2011-11-02
判断小数位数:len(cstr(x)) - InStr(cstr(x),".")
第一位小数是0或者5:int(x * 10) mod 5 = 0
四舍五入保留到第n位小数:x = Int(x * 10^n + 0.5) / 10^n