我有一个存储为double的数字,并想打印出没有小数位的数字。因此,如果我有一个双精度值919545634521.000000,它总是在打印时加上小数点后几位。如果没有它,我如何打印它,使其看起来像:919545634521
#include<stdlib.h>
int main()
{
double number = 9220343120;
printf("%??\n", number);
}发布于 2011-07-26 15:23:17
试一试
printf("%.0lf\n",phoneNum);你也可能更喜欢
long long phoneNum;
phoneNum = strtoll(buffer,NULL,0);
printf("%lld\n",phoneNum);而不是。不过,根据系统的不同,你可能需要其他函数来进行转换(我认为它是windows的_strtoui64 )。
发布于 2011-07-26 15:22:34
那么,不要将电话号码存储为浮点数(一次错误的移动,您的电话号码就会得到四舍五入的)。
将其存储为整数或字符串。
发布于 2011-07-26 15:22:38
使用%0.0lf或使用整数
https://stackoverflow.com/questions/6826556
复制相似问题