我知道%.2f是输出带有两位小数的,为什么double x=152.6752445;然后printf("x=%2f\n"

我知道%.2f是输出带有两位小数的,为什么double x=152.6752445;然后printf("x=%2fn",x);是152.675244,这和%f输出的不是一样了吗!怎么会这样,
虫虫3 1年前 已收到1个回答 举报

rr化导航 春芽

共回答了19个问题采纳率:94.7% 举报

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

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.016 s. - webmaster@yulucn.com