个人很好奇,机器保留几位的时候,是 *直接舍去* 还是 *四舍五入* 呢?(更新2019/5/5 22:45 应该是4舍6入5成双,可以百度一下)
注:for(int i=0;i<10;i++)//i从0到9
//c代码在文章最下面
//标红的是那些不按套路出牌的保留方式
n=0.050000
n+i=0.050000 一=0.1 二=0.05 三=0.050 四=0.0500
n+i=1.050000 一=1.0 二=1.05 三=1.050 四=1.0500
n+i=2.050000 一=2.0 二=2.05 三=2.050 四=2.0500
n+i=3.050000 一=3.0 二=3.05 三=3.050 四=3.0500
n+i=4.050000 一=4.1 二=4.05 三=4.050 四=4.0500
n+i=5.050000 一=5.1 二=5.05 三=5.050 四=5.0500
n+i=6.050000 一=6.1 二=6.05 三=6.050 四=6.0500
n+i=7.050000 一=7.1 二=7.05 三=7.050 四=7.0500
n+i=8.050000 一=8.1 二=8.05 三=8.050 四=8.0500
n+i=9.050000 一=9.1 二=9.05 三=9.050 四=9.0500
########################################
n=0.005000
n+i=0.005000 一=0.0 二=0.00 三=0.005 四=0.0050
n+i=1.005000 一=1.0 二=1.00 三=1.005 四=1.0050
n+i=2.005000 一=2.0 二=2.01 三=2.005 四=2.0050
n+i=3.005000 一=3.0 二=3.01 三=3.005 四=3.0050
n+i=4.005000 一=4.0 二=4.01 三=4.005 四=4.0050
n+i=5.005000 一=5.0 二=5.01 三=5.005 四=5.0050
n+i=6.005000 一=6.0 二=6.01 三=6.005 四=6.0050
n+i=7.005000 一=7.0 二=7.01 三=7.005 四=7.0050
n+i=8.005000 一=8.0 二=8.01 三=8.005 四=8.0050
n+i=9.005000 一=9.0 二=9.01 三=9.005 四=9.0050
########################################
n=0.000500
n+i=0.000500 一=0.0 二=0.00 三=0.001 四=0.0005
n+i=1.000500 一=1.0 二=1.00 三=1.000 四=1.0005
n+i=2.000500 一=2.0 二=2.00 三=2.000 四=2.0005
n+i=3.000500 一=3.0 二=3.00 三=3.000 四=3.0005
n+i=4.000500 一=4.0 二=4.00 三=4.001 四=4.0005
n+i=5.000500 一=5.0 二=5.00 三=5.001 四=5.0005
n+i=6.000500 一=6.0 二=6.00 三=6.001 四=6.0005
n+i=7.000500 一=7.0 二=7.00 三=7.001 四=7.0005
n+i=8.000500 一=8.0 二=8.00 三=8.000 四=8.0005
n+i=9.000500 一=9.0 二=9.00 三=9.000 四=9.0005
########################################
n=0.000050
n+i=0.000050 一=0.0 二=0.00 三=0.000 四=0.0000
n+i=1.000050 一=1.0 二=1.00 三=1.000 四=1.0000
n+i=2.000050 一=2.0 二=2.00 三=2.000 四=2.0001
n+i=3.000050 一=3.0 二=3.00 三=3.000 四=3.0001
n+i=4.000050 一=4.0 二=4.00 三=4.000 四=4.0001
n+i=5.000050 一=5.0 二=5.00 三=5.000 四=5.0001
n+i=6.000050 一=6.0 二=6.00 三=6.000 四=6.0001
n+i=7.000050 一=7.0 二=7.00 三=7.000 四=7.0001
n+i=8.000050 一=8.0 二=8.00 三=8.000 四=8.0000
n+i=9.000050 一=9.0 二=9.00 三=9.000 四=9.0000
#include<stdio.h>
int main(){
float n=0.05;
printf("n=%f\n",n);
for(int i=0;i<10;i++){
printf("n+i=%f ",n+i);
printf("一=%.1f 二=%.2f 三=%.3f 四=%.4f\n",n+i,n+i,n+i,n+i);
}
printf("#################################\n");
n=0.005;
printf("n=%f\n",n);
for(int i=0;i<10;i++){
printf("n+i=%f ",n+i);
printf("一=%.1f 二=%.2f 三=%.3f 四=%.4f\n",n+i,n+i,n+i,n+i);
}
printf("#################################\n");
n=0.0005;
printf("n=%f\n",n);
for(int i=0;i<10;i++){
printf("n+i=%f ",n+i);
printf("一=%.1f 二=%.2f 三=%.3f 四=%.4f\n",n+i,n+i,n+i,n+i);
}
printf("#################################\n");
n=0.00005;
printf("n=%f\n",n);
for(int i=0;i<10;i++){
printf("n+i=%f ",n+i);
printf("一=%.1f 二=%.2f 三=%.3f 四=%.4f\n",n+i,n+i,n+i,n+i);
}
}