我知道%.2f是输出带有两位小数的,为什么double x=152.6752445;然后printf("x=%2f\n",x);是152.675244,这和%f输出的不是一样了吗!怎么会这样,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 07:55:13
我知道%.2f是输出带有两位小数的,为什么double x=152.6752445;然后printf(

我知道%.2f是输出带有两位小数的,为什么double x=152.6752445;然后printf("x=%2f\n",x);是152.675244,这和%f输出的不是一样了吗!怎么会这样,
我知道%.2f是输出带有两位小数的,为什么double x=152.6752445;然后printf("x=%2f\n",x);是152.675244,这和%f输出的不是一样了吗!怎么会这样,

我知道%.2f是输出带有两位小数的,为什么double x=152.6752445;然后printf("x=%2f\n",x);是152.675244,这和%f输出的不是一样了吗!怎么会这样,
%f是float的控制符
你定义的double,用f肯定控制不了
double的格式控制符是%lf,%.2lf就是把double输出为2位小数
%2f是把float的输出为2位小数
%2f是把float的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,按照实际输出
%2lf是把double的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,按照实际输出
自己把控制符用错了