楼主 syz105729913 |
Q:如何按数字修约的规则进位? A:利用VBA中的ROUND()函数,VBA中的规则刚好就是数字修约的规则,自定义一个函数,首先ALT+F11插入一个模块,复制以下代码
示例.rar |
2楼 toby08 |
有一个疑问,为什么这个函数得出的结果是文本格式的呢? |
3楼 syz105729913 |
那是因为Function AA(Y As Range, I As Integer) As String 的缘故,String表示文本的意思 |
4楼 rongjun |
Q:如何按照四舍六入五单双的规则修约数值? A:采用如下自定义函数:
N为指定位数(默认为0;当N>0时,修约到指定的小数位;当N=0时,修约到最接近的整数;当N<0时,在小数点左侧进行修约) 注意:四舍六入五单双的规则如下: 四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一。 如何按照四舍六入五成双规则修约数值?.rar |
5楼 hlxz |
为什么用函数 =ROUND(A5*10^2,0)/10^2 就不能**则 不符合 欢乐小爪 19:29:21 你的vba 也是VBA.Round(R * 10 ^ N, 0) / 10 ^ N 虫儿飞 19:29:35 两个函数的修约规则不一样 虫儿飞 19:29:46 不知道微软是什么意思。 欢乐小爪 19:30:06 vba 的Round 和函数的Round 不一样! 请问微软是什么意思。 |
6楼 syz105729913 |
微软是什么意思我们也不知道,只能太概的猜测,可能是对修约的一个补充吧 VBA里的ROUND函数就是四舍六入五单双的修约规则。 |
7楼 baoying19891207 |
楼主软件还有缺陷,比如 0.575 正确档案应该为0.57 但是公式计算后为0.57 |