设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5209|回复: 4
打印 上一主题 下一主题

[模块/函数] 【技巧】数字各种取整的方法

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2013-7-5 09:06:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【技巧】各种取整方法

    取整主要分三种:取整数部分,四舍五入,向上取整
一、取整数部分
    先介绍两个取整数部分的函数:Int(number) 和 Fix(number)。
Int函数和 Fix函数都是删除 number参数的小数部分并返回以整数表示的结果。但他们有一个区别
  1.     Int(55.8) ' 返回 55。
  2.     Fix(55.2) ' 返回 55。
  3.     Int(-55.8) ' 返回 -56。
  4.     Fix(-55.8) ' 返回-55。
  5.     Int(-55.2) ' 返回 -56。
  6.     Fix(-55.2) ' 返回 -55
复制代码
很明显,不管小数是什么,取整结果一样。正数取整数部分;负数,Fix函数还是取整数部分,而Int函数取小于改数的整数。

二、四舍五入
    1、使用数学逻辑
          原理:先乘以10,用Int函数取整。再判断个位数是否大于5,大于则原来数字取整后加1,小于则只是原来数字取整
  1.           ‘代码:dim a as double,b as long
  2.                      a=10.56
  3.                      a=a*10
  4.                      if right(int(a),1)>=5 then
  5.                            b=int(a/10)+1
  6.                      else
  7.                            b=int(a/10)
  8.                      end if
复制代码
2、使用Format 格式化函数
  1.           ‘代码:dim a as double
  2.                      a=10.56
  3.                      msgbox format(a,"0")
复制代码
三、向上取整
        向上取整是只要有小数,整数部分直接加一,想了想,找到一个最简单的办法实现。
        原理:假设是整数,取负数,利用int函数的特性,自然就取整绝对值加一,再乘负1
  1.         ‘代码:dim a as double,b as long
  2.                 a=10.11
  3.                 b=-Int(-s)
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2013-7-5 09:46:05 | 只看该作者
顶一下,很详细
3#
发表于 2013-7-5 15:43:46 | 只看该作者
强制类型转换
4#
发表于 2013-7-5 16:01:04 | 只看该作者
四舍五入我一直用
B=INT(A+0.5)

点击这里给我发消息

5#
 楼主| 发表于 2013-7-5 16:19:45 | 只看该作者
aslxt 发表于 2013-7-5 16:01
四舍五入我一直用
B=INT(A+0.5)

好主意!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-27 21:39 , Processed in 0.147687 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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