设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3376|回复: 10
打印 上一主题 下一主题

[与其它组件] 怎么样才能实现五舍六入?

[复制链接]
跳转到指定楼层
1#
发表于 2007-7-16 19:44:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对某数值取小数点后两位,但是按5舍六入保留小数位,不知道能不能实现?谢谢了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-7-16 19:49:00 | 只看该作者
可以的
3#
 楼主| 发表于 2007-7-16 21:29:00 | 只看该作者
<>麻烦告我一下怎么实现好吧</P>
4#
发表于 2007-7-16 22:00:00 | 只看该作者
正常情况下可在格式中写入0.00
5#
发表于 2007-7-16 22:09:00 | 只看该作者
<>Function sswr(x As Double, y As Double)</P>
<><br>sswr = Int(x * 10 ^ y + 0.4) / 10 ^ y</P>
<><br>End Function<br>  </P>
<P>sswr(10.515,2)=10.51  </P>
<P>sswr(10.516,2)=10.52 </P>
[此贴子已经被作者于2007-7-16 14:12:15编辑过]

6#
发表于 2007-7-16 22:14:00 | 只看该作者
<>Int(x * 10 ^ y + 0.4) / 10 ^ y</P>
<>同时要看负数是怎么舍和入的。</P>
7#
发表于 2007-7-16 22:22:00 | 只看该作者
<>round同样有这种情况</P>
<>round(10.515,2)=10.52</P>
<>round(-10.515,2)=-10.51</P>
<P>否则的话先看&lt;0的: 0-round(abs(-10.515),2)=-10.52</P>

点击这里给我发消息

8#
发表于 2007-7-16 23:12:00 | 只看该作者
< none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><B normal?><FONT face="Times New Roman">四舍六入的数字修约是与国际接轨的一种数据修约方法,国家有专门的标准以前是:数值修约规则  UDC 511.1/2 GB/T 8170-1987    不知近几年有没有新的标准。四舍六入关键是尾数为5的处理原则,下面摘录一段供参考:</P>
< align=center none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm center; TEXT-ALIGN:><B normal?>      </B></P>
< none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm></FONT></B></P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><B normal?></B><B normal?>进舍规则<o:p></o:p></B></P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><FONT face="Times New Roman">3.1 </FONT>拟舍弃数字的最左一位数字小于<FONT face="Times New Roman">5</FONT>时,则舍去,即保留的各位数字不变。</P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><FONT face="Times New Roman">    </FONT>例<FONT face="Times New Roman">1</FONT>:将<FONT face="Times New Roman">12.1498</FONT>修约到一位小数,得<FONT face="Times New Roman">12.1</FONT>。</P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><FONT face="Times New Roman">    </FONT>例<FONT face="Times New Roman">2</FONT>:将<FONT face="Times New Roman">12.1498</FONT>修约成两位有效位数,得<FONT face="Times New Roman">12</FONT>。</P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><FONT face="Times New Roman">3.2 </FONT>拟舍弃数字的最左一位数字大于<FONT face="Times New Roman">5</FONT>;或者是<FONT face="Times New Roman">5</FONT>,而其后跟有并非全部为<FONT face="Times New Roman">0</FONT>的数字时,则进一,即保留的末位数字加<FONT face="Times New Roman">1</FONT>。</P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><FONT face="Times New Roman">    </FONT>例<FONT face="Times New Roman">1</FONT>:将<FONT face="Times New Roman">1268</FONT>修约到“百”数位,得<FONT face="Times New Roman">13X10<SUP>2</SUP></FONT>(特定时可写为<FONT face="Times New Roman">1300</FONT>)。</P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><FONT face="Times New Roman">    </FONT>例<FONT face="Times New Roman">2</FONT>:将<FONT face="Times New Roman">1268</FONT>修约成三位有效位数,得<FONT face="Times New Roman"> 127 X 10</FONT>(特定时可写为<FONT face="Times New Roman"> 1270</FONT>)。</P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><FONT face="Times New Roman">    </FONT>例<FONT face="Times New Roman">3</FONT>:将<FONT face="Times New Roman">10.502</FONT>修约到个数位,得<FONT face="Times New Roman">11</FONT>。</P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><FONT face="Times New Roman">    </FONT>注:本标准示例中,“特定时”<FONT face="Times New Roman"> </FONT>的涵义系指修约间隔或有效位数明确时。<o:p></o:p></P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm><FONT face="Times New Roman">3.3 </FONT>拟舍弃数字的最左一位数字为<FONT face="Times New Roman">5</FONT>,而右面无数字或皆为<FONT face="Times New Roman">0</FONT>时,若所保留的末位数字为奇数(<FONT face="Times New Roman">1</FONT>,<FONT face="Times New Roman">3</FONT>,<FONT face="Times New Roman">5</FONT>,<FONT face="Times New Roman">7</FONT>,<FONT face="Times New Roman">9</FONT>)则进一,为偶数(<FONT face="Times New Roman">2</FONT>,<FONT face="Times New Roman">4</FONT>,<FONT face="Times New Roman">6</FONT>,<FONT face="Times New Roman">8</FONT>,<FONT face="Times New Roman">0</FONT>)则舍弃。</P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm> </P>
<P none? mso-layout-grid-align: char; LAYOUT-GRID-MODE: 0pt; 0cm></P>
[此贴子已经被作者于2007-7-16 16:40:22编辑过]

9#
 楼主| 发表于 2007-7-16 23:49:00 | 只看该作者
<>谢谢了。还有一个问题round函数在access里面怎么样取舍小数位呢?我计算round(7.285,2)=7.28,计算round(7.555,2)=7.56 怎么对第三位的5处理方法不一样呢?</P>

点击这里给我发消息

10#
发表于 2007-7-17 00:29:00 | 只看该作者
<>你看一下修约规则就明白了,以下按保留两位小数为例:</P>
<>例  7.2850000001 只要5后面有数字,则进位,结果7.29 </P>
<>    7.285000    5后面没有数字,则看5前一位,如是双数,则舍弃:结果7.28</P>
<P>    如5前面是单数,则进位,如7.275   结果为7.28</P>
[此贴子已经被作者于2007-7-16 16:29:54编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 15:54 , Processed in 0.112337 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表