发布网友 发布时间:2022-10-16 22:30
共4个回答
热心网友 时间:2023-10-24 23:07
double a = 1.001;热心网友 时间:2023-10-24 23:08
可以用%2.3lf,点3代表着小数为保留3位,前面的2可以随便。追问这个只是保留3位小数,如果下次不知道double数据的值,又怎么办呢?追答保留几位要看你自己,就像你用计算机一样,你得到的一个值无限位的小数,你要把它保留小数几位要看你个人。而不是因为看了值之后在决定保留几位,你需要他保留几位你就设置成几位。
热心网友 时间:2023-10-24 23:08
printf("%.3lf", a);追问我是问如何才能去掉多余的小数位,printf("%.3lf", a);这个只是保留3位小数,如果下次不知道double数据的值,又怎么办呢?追答纯c没法处理,至少我没办法
按你的想法,可以考虑模式化成string再删减末尾的0,但是你不知道double小数点后部分所需要的位数(注意很多远超6位,%lf默认6位)
如果在6位之内,完全可以做到
热心网友 时间:2023-10-24 23:09
printf("%g\n", a ); //这样试一下,是不是你想要的