为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

四舍六入五单双

2017-09-28 5页 doc 16KB 102阅读

用户头像

is_977556

暂无简介

举报
四舍六入五单双四舍六入五单双 自编(验证) Private Function roundz(X As Double, mm As Integer) As Double If (Abs(X) * 10 ^ mm - Int(Abs(X) * 10 ^ mm)) = 0.5 Then roundz = Val(Application.Even(Int(Abs(X) * 10 ^ mm))) End If roundz = Val(Round(Abs(X), mm)) End Function *******************...
四舍六入五单双
四舍六入五单双 自编(验证) Private Function roundz(X As Double, mm As Integer) As Double If (Abs(X) * 10 ^ mm - Int(Abs(X) * 10 ^ mm)) = 0.5 Then roundz = Val(Application.Even(Int(Abs(X) * 10 ^ mm))) End If roundz = Val(Round(Abs(X), mm)) End Function *********************************************************** ******* 利用VBA自定义函数解决 Microsoft Office 套装办公软件是大家十分熟悉的办公软件,在工作中经常使用。但在 水 文工作中, 仍然感觉到有很不方便的时候~ 比如, 水文行业广泛使用的“四舍六入五单双”, 就很难用 Microsoft Office 中的内部函数进行处理。但是与 Microsoft Office 套装办公软 件绑定的 VBA(Visual Basic For Application) 语言提供了强大的二次开发功能,笔者以 Excel 为例,用它来解决上面所提到的问题,就非常容易了。 一、水文及水质资料使用的“四舍六入五单双”,执行《数值修约规范》( GB8170-87) ,.拟舍弃数字的最左一位数字小于,时,则舍去,即保留的各位数字不变。 ,.拟舍弃数字的最左一位数字大于,时;或者是,,而其后跟有并非全部为,的数字时, 则进一,即保留的末位数字加,。 ,. 拟舍弃数字的最左一位数字为,, 而后面无数字或皆为,时, 若所保留的末位数字为奇 数 (1,3,5,7,9)则进一,为偶数 (,,4,6,8)则舍弃。 二、初识VBAIDE 打开Excel,按 Alt+F11即进入VBAIDE,在菜单上依次点击 [插入]->[模块], 然后输入如下代码:' “四舍六入五单双”自定义函数' 函数形式Round5(x,mm),返回值Round5为 Double 型 ' X为操作数值,mm为保留小数位数' mm 为Integer 型,mm = 0 表示取整数 Private Function round5(X As Double, mm As Integer) As Double Dim Temp1, Temp2 As String Temp1 = 1 If mm < 0 Then Temp1 = 10 ^ Abs(mm) X = X / Temp1 mm = 0 End If If ((Int((Abs(X) - Int(Abs(X))) * 10 ^ mm) Mod 2) = 0 And (Abs(X) * 10 ^ mm - Int(Abs(X) * 10 ^ mm)) <= 0.5) And X <> Val(Round(Abs(X), mm) * Sgn(X)) Then round5 = Val((Round(Abs(X) - 10 ^ (-mm) / 5, mm))) Else round5 = Val(Round(Abs(X), mm)) End If round5 = Val( round5 * Sgn(X) * Temp1) End Function 以上程序是在“取绝对值(Abs)”、“取整(Int)”、“四舍五入 (Round)”等系统内 部函数的基础上完成的, 函数的型式及其每个参数需要用户在属性设置中定义和声明, 故叫 做自定义函数。 以上定义“四舍六入五单双”的函数名为 Round5 , 定义成功后便可在 Excel 中象系统函数那样引用了, 例如对编辑完后按 Alt+Q 即返回 Excel , 再在某一单元格输入“= Round5(A1, ,)”(A1 既可以是单元格 , 也可以是输入的数值 ), 回车结果就出来了。 如果出现 “#NAME,”那就要设置一下安全设置。依次点 [ 工具 ]->[ 宏 ]->[ 安全性 ] ,在安全级选项卡 上选择“中”或者“低”, 然后关闭后重新打开就可以了, 如果保存为“加载宏”, 以后只 要是“四舍六入五单双”的计算,就可以直接用它,非常方便。 VBA 的功能是非常强大的, 如果读者有兴趣,一定可以解决不少难题。
/
本文档为【四舍六入五单双】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索