首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印不带小数位的双精度

问打印不带小数位的双精度
EN

Stack Overflow用户
提问于 2011-07-26 15:17:31
回答 7查看 33.7K关注 0票数 13

我有一个存储为double的数字,并想打印出没有小数位的数字。因此,如果我有一个双精度值919545634521.000000,它总是在打印时加上小数点后几位。如果没有它,我如何打印它,使其看起来像:919545634521

代码语言:javascript
复制
#include<stdlib.h>

int main()
{
    double number = 9220343120;
    printf("%??\n", number);
}
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-07-26 15:23:17

试一试

代码语言:javascript
复制
printf("%.0lf\n",phoneNum);

你也可能更喜欢

代码语言:javascript
复制
long long phoneNum;
phoneNum = strtoll(buffer,NULL,0);
printf("%lld\n",phoneNum);

而不是。不过,根据系统的不同,你可能需要其他函数来进行转换(我认为它是windows的_strtoui64 )。

票数 16
EN

Stack Overflow用户

发布于 2011-07-26 15:22:34

那么,不要将电话号码存储为浮点数(一次错误的移动,您的电话号码就会得到四舍五入的)。

将其存储为整数或字符串。

票数 4
EN

Stack Overflow用户

发布于 2011-07-26 15:22:38

使用%0.0lf或使用整数

Lookup format specs for printf

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6826556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档