C语言关于%010.2f和0+10.2f
发布网友
发布时间:2024-10-11 07:14
我来回答
共5个回答
热心网友
时间:2024-11-13 22:50
printf("%0+10.2f\n",f); 输出 +000123.46
格式里10 表示输出数总占位是10个字符
.2 是小数2位。计入 四舍五入。
格式里 + 号表示 输出 负数带-号, 输出 正数带+号
格式里 0 表示 用 0 填满 左边空格。
=========
printf("%010.2f\n",f); 输出 0000123.46
格式里 0 表示 用 0 填满 左边空格。
格式里10 表示输出数总占位是10个字符
.2 是小数2位。计入 四舍五入。
热心网友
时间:2024-11-13 22:51
本人觉得输出应是:
printf("%010.2f\n",f); // 输出 0000123.46
printf("%0+10.2f\n",f);// 输出 +000123.46
这样才对,不然就是编译器有bug。后一行小数点后输出.56是毫无道理的。
热心网友
时间:2024-11-13 22:52
printf("%010.2f\n",f); 输出 0000123.46
这个010.2是连续的,相当于10.2,就是总共输出10位,两位小数。printf("%0+10.2f\n",f); 输出 000+123.56
这个0+10.2估计你的意思是0+10.2也等于10.2,然后结果会一样是吧?但是0+10.2是在一个字符串当中,并不会先去计算加法的,你看看你是不是进入这个误区了还是其他问题。
热心网友
时间:2024-11-13 22:55
printf("%010.2f\n",f); 还能理解,printf("%0+10.2f\n",f);这个你是想干嘛?
热心网友
时间:2024-11-13 22:50
printf("%010.2f\n",f);
输出
0000123.46
这个010.2是连续的,相当于10.2,就是总共输出10位,两位小数。printf("%0+10.2f\n",f);
输出
000+123.56
这个0+10.2估计你的意思是0+10.2也等于10.2,然后结果会一样是吧