我知道%.2f是输出带有两位小数的 为什么double x=152.6

查题易 其它 已帮助

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

优质解答

共1条回复

  • %f是float的控制符
    你定义的double,用f肯定控制不了
    double的格式控制符是%lf,%.2lf就是把double输出为2位小数
    %2f是把float的输出为2位小数
    %2f是把float的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,按照实际输出
    %2lf是把double的所有位数输出2位,包括小数点,如果不组2位,补0,如果超过2位,按照实际输出
    自己把控制符用错了