主题:【分享】EXCEL采用VB实现指定修约间隔及指定有效数字四舍六入五留双修约方法

浏览0 回复46 电梯直达
青藤榕
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
123edr
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
0.995,保留两位有效,错了。应该是1.0,而不是1。
不过这样的数值也很少出现吧
夜豹
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
原文由 123edr(v2760861) 发表:
0.995,保留两位有效,错了。应该是1.0,而不是1。
不过这样的数值也很少出现吧
这个问题说的是很对,在Excel里面会自动把后面为0的数字省略不显示,比如这个1.0就只显示1。象这种情况只能自己加上TEXT(A1,"0.0")显示1.0后面的0,如果想适应多种小数可位数的显示,还可以加上LOOKUP函数把常用把常用的小数点位数后面的0给自动显示的。
路云
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
原文由 123edr(v2760861) 发表:
0.995,保留两位有效,错了。应该是1.0,而不是1。
不过这样的数值也很少出现吧
      对0.995这个数进行修约,最好用“修约至小数后第二位”的说法比较合适。如果这个数表示的是“不确定度”,则有保留1至2位有效数字的说法。对于“不确定度”而言,因为这个数的首位非零数出现在小数点后第一位,保留两位有效数字,理应保留两位小数(0.××)。因为修约的原因,导致修约后的结果为“1.0”,实际上个位数“1”并非它的欠准数的首位。也就是说修约前的数值是小于1.0的,否则很容易让人误认为是由1.01、1.02、1.03或1.04修约得到的1.0。所以说修约至1.00还是比较合适的,如果该数是0.985或更小的数,也就不存在这个问题了。
赞贴
0
收藏
0
拍砖
0
2020/7/2 21:38:14 Last edit by luyunnc
Ins_3acde0b1
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
1.251501 修约小数位数4位,值应该为:1.2516,但使用VB中round函数值为1.2515。当尾数为5,而尾数5的后面还有任何不适0的数字时,无论前一位是奇数还是偶数,也无论5后面不为0的数字在哪一位上,都应向前进一位。所以正确值应该是1.2516



赞贴
0
收藏
0
拍砖
0
2021/7/30 8:26:03 Last edit by Ins_3acde0b1
路云
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
原文由 Ins_3acde0b1(Ins_3acde0b1) 发表:
1.251501 修约小数位数4位,值应该为:1.2516,但使用VB中round函数值为1.2515。当尾数为5,而尾数5的后面还有任何不适0的数字时,无论前一位是奇数还是偶数,也无论5后面不为0的数字在哪一位上,都应向前进一位。所以正确值应该是1.2516



      您说错了,1.251501修约至小数位第四位的结果应该是1.2515,而不是1.2516。因为第5位小数“0”才是拟舍位的首位。按修约规则1.251501修约至小数第4位的结果应该是1.2515,而不是1.2516。您所说的5后不全为0的情况,应该是修约至第3位小数,即1.251501修约至小数点后第3位时,就看拟舍数的首位“5”后是否全为“0”。此时不全为“0”,应该进位,修约至1.252。
猜你喜欢最新推荐热门推荐更多推荐
品牌合作伙伴