Office中国论坛/Access中国论坛

标题: 如何用字面值来进行计算 [打印本页]

作者: 简    时间: 2011-12-1 23:26
标题: 如何用字面值来进行计算
在统计中,为保证准确性,要求四舍五入后以字面值来进行计算。比如95.82四舍五入为96后,后面的计算就一律以96来算,而不是95.82,而我在实际操作中却发现,计算中有时并不是以96来计算,有时是95.82,有时还莫名变成了95.81999996这样的数字出来。

所以我想问,为达到用字面值来进行计算的效果,该字段应该为哪种类型,格式是啥呢。

顺便再问一下,用format表示百分比&,代码是怎么写的呢?
作者: roych    时间: 2011-12-1 23:53
Format函数:
=Format([字段],"0.00%")或者Format([字段],"Percent")
Round函数:
Round([字段],2)
不过,Access的Round和Excel的Round函数是有区别的。具体表现为Round(0.5,0)=0,而Round(0.50000001,0)=1
作者: 海婷    时间: 2011-12-2 20:11
roych 发表于 2011-12-1 23:53
Format函数:
=Format([字段],"0.00%")或者Format([字段],"Percent")
Round函数:

学习了~~
作者: wang1950317    时间: 2011-12-2 22:05

是么样的统计要这样算?有时这种算法在统计中会得出截然相反的结论(如差异具显著意义算成差异不显著)。
如果这些数据都是保留整数或保留有规律可能好办些,如果没有规律就麻烦了。
出现95.81999996这样的数字是因为你把数字的字段大小设置成单精度(或双精度)型啦,设置成小数就好了。
作者: pq318    时间: 2011-12-3 08:40
到数据源表里面改改数据类型就好了,楼上的对的
作者: 简    时间: 2011-12-4 07:29
如图所示,请问,合格数,合格率,重量,合计等字段的数据类型应该如何设置才好呢?

合格数要求为整数,大多时候是5位整数;合格率要求保存为整数,且为百分比%,如84%;重量为保留两位小数,如155.12;合计也是整数,整数位数通常是7-8位。

合格数,合格率,重量等字段要求必须用字面值参与计算。

我想问,当合格数的数据类型设为整型时,还必须用round来参与取值吗?

打个比方,通过计算,合格数的值为51000.56,这时我让它根据数据类型直接保存为51001还是通过round(51000.56,0)保存为51001好呢,还是用format(51000.56,“0")保存为整型呢。

还有,合格率为百分比%时,其数据类型应该如何设置最好,合格率是通过(使用数/发出数)得出,使用数和发出数都是手工输入数。我最初设为数字,小数,固定,5,0,0时,并用format(合格率,“0%”)格式时,我在应用sql更新记录时老是提示数据类型不匹配,没办法,我才设为字符型。这种情况应该如何处理呢?

由于数字庞大,数据类型及四舍五入操作不当,就会影响数据的准确性,所以我不敢马虎,还请各位朋友帮忙并指点,在此先谢了。

[attach]47520[/attach]
作者: 简    时间: 2011-12-4 07:36
我还想请教,百分比的条件格式应该如何设置。

我设为字段值>100,或>100%,>1等连续窗体上都没有反应,不知该如何设置才对呢。

[attach]47521[/attach]
作者: 简    时间: 2011-12-4 09:48
我回复的帖子呢,为什么要审核呢,要好久才审核呀
作者: 简    时间: 2011-12-5 12:37
本帖最后由 简 于 2011-12-5 12:40 编辑

请问,合格率,合格数,重量,合计等字段的数据类型应该如何设置呢。

合格数为整数,通常是5位;重量是保留两位小数,合计也是整数,通常是7-8位。

合格率要求保存为整数,且为百分比%,我想问:合格率的结果,是由数据类型直接保存为整型,还是用round(合格率,0)好呢,还是用format(合格率,"0%")好呢?

合格率的数据类型应该如何设置呢。我最初设置为数字,小数,固定,5,0,0时,在通过SQL更新记录的合格率时,老是提示数字类型不匹配,没办法,我才改为字符型。

由于记录数量庞大,为保证数据的正确和精度,要求所有记录都用字面值来进行计算。我不敢马虎,所以想请教大伙,看数据类型等应该如何设置才合理正确。

[attach]47533[/attach]

对于图片2,在条件格式中,当合格率>100%时,该字段为桔黄色。我在条件格式中设为1,100,100%时,都不显示桔黄色,所以我想问,应该如何设置呢?
作者: wang1950317    时间: 2011-12-5 23:07
取整数可以试试CInt函数和CLng函数。
(也可以用笨法截取小数点前的数据参与计算。)
条件格式设置为1是正确的,但设置对象的数据格式应为百分数。
作者: todaynew    时间: 2011-12-6 14:01
简 发表于 2011-12-5 12:37
请问,合格率,合格数,重量,合计等字段的数据类型应该如何设置呢。

合格数为整数,通常是5位;重量是保 ...

鬼打架,合格率有何精度可言?

在条件格式中用大于、小于等关系运算符就完事了。
作者: 简    时间: 2011-12-6 19:33
本帖最后由 简 于 2011-12-6 19:38 编辑
todaynew 发表于 2011-12-6 14:01
鬼打架,合格率有何精度可言?

在条件格式中用大于、小于等关系运算符就完事了。


有精度要求,我们要根据合格率来进行下一步判断和计算。

在条件格式中我也晓得用大于小于等关系运算符,关键是这个百分比,>100%,我不知该如何取值,前面有位朋友说取1,可我运行来没效果,不知是怎么回事。

作者: 简    时间: 2011-12-6 19:35
经过大量记录计算,我个人觉得,用format格式来控制数据的四舍五入,并且实现按字面值来计算,似乎是最好的,比round,cint都要可靠似的。
作者: wang1950317    时间: 2011-12-6 22:57
本帖最后由 wang1950317 于 2011-12-6 23:06 编辑

楼主要注意:
函数Format是四舍五入的。
CInt和Round是四舍六入的。
(至少2003是这样)
现在国家一些标准规范均要求按四舍六入的数字修约方式。





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