社区
C语言
帖子详情
printf格式化输出问题
乐此不痞
2010-11-17 05:22:49
float f=3.1415f;
printf("%4.3f", f);
为什么在VS2008和devcpp里面输出都是:3.141
而不是3.142
请高手解疑。
...全文
126
13
打赏
收藏
printf格式化输出问题
float f=3.1415f; printf("%4.3f", f); 为什么在VS2008和devcpp里面输出都是:3.141 而不是3.142 请高手解疑。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
乐此不痞
2010-11-17
打赏
举报
回复
[Quote=引用 10 楼 cdsxyx 的回复:]
引用 8 楼 nofailure 的回复:
引用 6 楼 cdsxyx 的回复:
引用 5 楼 nofailure 的回复:
引用 4 楼 cdsxyx 的回复:
用double吧,double f=3.1415; 应该是精度问题
用double结果也是一样的
3.1415后面的f去掉没
去掉f就对了,谢谢
浮点数不能精确存储的,用prin……
[/Quote]
这种说法让人信服
乐此不痞
2010-11-17
打赏
举报
回复
虽然用double正常了,但是还是不明白为什么float类型时
3.1416 -> 3.142
3.1445 -> 3.145
蠓虫带着秤砣飞
2010-11-17
打赏
举报
回复
很怪的问题:
楼主的数据后跟了个f,我去掉了f.
试验:如果是double型,输出的是3.142如果是float型,则输出的是3.141
如果是float型,但原数等于3.1416则输出是3.142.
怪....精度问题?
半斗
2010-11-17
打赏
举报
回复
[Quote=引用 8 楼 nofailure 的回复:]
引用 6 楼 cdsxyx 的回复:
引用 5 楼 nofailure 的回复:
引用 4 楼 cdsxyx 的回复:
用double吧,double f=3.1415; 应该是精度问题
用double结果也是一样的
3.1415后面的f去掉没
去掉f就对了,谢谢
[/Quote]
浮点数不能精确存储的,用printf("%4.16f", f);输出看看就知道了
Csuxiaowu
2010-11-17
打赏
举报
回复
试了下 好像以5为分割的
乐此不痞
2010-11-17
打赏
举报
回复
[Quote=引用 6 楼 cdsxyx 的回复:]
引用 5 楼 nofailure 的回复:
引用 4 楼 cdsxyx 的回复:
用double吧,double f=3.1415; 应该是精度问题
用double结果也是一样的
3.1415后面的f去掉没
[/Quote]
去掉f就对了,谢谢
xx说就叫这个名字
2010-11-17
打赏
举报
回复
就是个控制输出格式的问题!
你不是指定要输出小数点后面3位吗?
半斗
2010-11-17
打赏
举报
回复
[Quote=引用 5 楼 nofailure 的回复:]
引用 4 楼 cdsxyx 的回复:
用double吧,double f=3.1415; 应该是精度问题
用double结果也是一样的
[/Quote]
3.1415后面的f去掉没
乐此不痞
2010-11-17
打赏
举报
回复
[Quote=引用 4 楼 cdsxyx 的回复:]
用double吧,double f=3.1415; 应该是精度问题
[/Quote]
用double结果也是一样的
半斗
2010-11-17
打赏
举报
回复
用double吧,double f=3.1415; 应该是精度问题
乐此不痞
2010-11-17
打赏
举报
回复
[Quote=引用 1 楼 csuxiaowu 的回复:]
你要它要给你做四舍五入
[/Quote]
如果是3.1416输出为3.142;
如果是3.1445输出为3.145;
所以想不明白
yiruirui0507
2010-11-17
打赏
举报
回复
它给你做四舍五入拉
Csuxiaowu
2010-11-17
打赏
举报
回复
你要它要给你做四舍五入
《C语言基础》 之 第9章 字符串
课程内容:字符数组1、字符串越位的
问题
、指针变量的空间大小、字符串常量、字符串传参、
printf
格式化输出
字符串、字符串的非
格式化输出
函数、字符串输入函数、strlen函数、strcpy函数和strncpy函数、strcmp函数和...
C语言
printf
格式化输出
汇总
之前用
格式化输出
时,只记住了常用的几个。其实
printf
的
格式化输出
有很多,这里分享给大家:
printf
函数 头文件 #include <stdio.h> 函数原型 int
printf
( const char *format, ... ); 你可能只用过%d,%f,不同的"%-codes"表示不同的变量类型, 也可以限制变量的长度. 常用%格式 short %hd:输出短整数 (h表示短整数) unsigned short %hu long %ld unsigned
printf
输出格式化
文章目录
printf
输出格式化
printf
输出格式化
printf
输出 1.
格式化输出
整数 %d:按实际数据输出 %md:m为指定输出数据的宽度。如果实际数据位数小于m,则左端补空格(%-md是右端补空格);若大于m,则按实际位数输出。 %0md:m也是指定输出数据的宽度。同上,实际数据位数小于m时,左端补0; #include<stdio.h> int main() {
printf
("1.%d\n",1234);
printf
("2.%6d\n",1234);
printf
(
C语言
printf
格式化输出
从此不再愁
printf
格式化输出
matlab
printf
格式化输出
,Shell
printf
格式化输出
命令
printf
是 awk 的重要
格式化输出
命令,本节我们先介绍一下
printf
命令如何使用。需要注意,在 awk 中可以识别 print 输出动作和
printf
输出动作(区别是:print 会在每个输出之后自动加入一个换行符;而
printf
是标准格式输出命令,并不会自动加入换行符,如果需要换行,则需要手工加入换行符),但是在 Bash 中只能识别标准
格式化输出
命令
printf
。所以我...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章