原文由 123edr(v2760861) 发表:对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.995,保留两位有效,错了。应该是1.0,而不是1。
不过这样的数值也很少出现吧
原文由 Ins_3acde0b1(Ins_3acde0b1) 发表:您说错了,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。
1.251501 修约小数位数4位,值应该为:1.2516,但使用VB中round函数值为1.2515。当尾数为5,而尾数5的后面还有任何不适0的数字时,无论前一位是奇数还是偶数,也无论5后面不为0的数字在哪一位上,都应向前进一位。所以正确值应该是1.2516