打印没有小数位的双精度数

pho*_*nix 10 c

我有一个数字存储为a,double并希望打印它没有小数位.因此,如果我有双值919545634521.000000,则始终打印添加小数位.如何在没有它的情况下打印它看起来像:919545634521

#include<stdlib.h>

int main()
{
    double number = 9220343120;
    printf("%??\n", number);
}
Run Code Online (Sandbox Code Playgroud)

Mic*_*ker 11

尝试

printf("%.0lf\n",phoneNum);
Run Code Online (Sandbox Code Playgroud)

你也可能更喜欢

long long phoneNum;
phoneNum = strtoll(buffer,NULL,0);
printf("%lld\n",phoneNum);
Run Code Online (Sandbox Code Playgroud)

代替.但是,根据系统的不同,您可能需要转换其他功能(我认为它_strtoui64适用于Windows).

  • @Jeff Mercado:我可以看到这会有什么帮助,但考虑到理解*为什么*printf没有`float`格式说明符也有一个宝贵的教训. (3认同)