Office中国论坛/Access中国论坛

标题: 又一个ACCESS函数问题,郁闷了....来高手看下吧 [打印本页]

作者: bjyutong    时间: 2009-10-13 15:04
标题: 又一个ACCESS函数问题,郁闷了....来高手看下吧
163288*0.145=23676.76
int(163288*0.145*1000)=23676000

155512*0.145=22549.24
int(155512*0.145*1000)=22549239 为何取整会减1???

有高手知道四舍五入取两位小数不会出现偏差的函数吗?请告知一声,不胜感激!!
作者: rjacky    时间: 2009-10-13 15:37
不可能会出现此问题的,除非是你的字段数据或变量类型设置的问题,在我的电脑access上
int(163288*0.145*1000)=23676760
int(155512*0.145*1000)= 22549240
作者: bjyutong    时间: 2009-10-13 15:41
2# rjacky

你好!我把我的附件发你一个,你看一下就明白了,解决这个四舍五入的问题,我都想了好几种方法了,可老是出问题,我郁闷的不行呀!请版主帮忙看一下,谢谢!
作者: rjacky    时间: 2009-10-13 20:32
我都说了,round函数是有点怪,但是现在的问题和int函数无关,而是字段数据类型设置引起的,只要将表1的两个字段都从“双精度”改为“小数”,数值范围为“6”,小数位数为“3”,就不会出现你说的情况了

至于为什么双精度会造成这样的问题,请参考本站MPV LucasLynn 文章http://www.office-cn.net/forum.php?mod=viewthread&tid=31684




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3