鱼C论坛

 找回密码
 立即注册
查看: 2165|回复: 3

关于%f输出的疑惑

[复制链接]
发表于 2021-11-3 13:10:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
    float b=123.12345678;
    printf("b=%f,%lf,%5.4lf\n",b,b,b);
为什么输出b=123.123459,  123.123459,  123.1235
我以为前两个答案是123.123457,123.123457
然后%5.4的5有啥用呢,求解答,非常感谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-3 13:20:26 | 显示全部楼层
%f表示普通形式实型输出
%5f表示你输出的这个值占5个位置, 比如输出的是数字123,那么就在123前面补2个空格
%5.4f就是在上面的基础上保留4位小数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-3 13:42:35 | 显示全部楼层
本帖最后由 jackz007 于 2021-11-3 13:48 编辑

        %5.4f 按总共 5 个字符,保留 4 位小数的格式输出变量,如果变量本来的小数位数超过 4 位,则第 5 位四舍五入。
        %5.4f 中的 5 一般不用,因为,如果整数部分超过 1 位数,则 %5.4f 的格式约定肯定会被突破,相对而言,%.4f 更加实用,%.4f 规定的格式为,按保留 4 位小数的格式显示变量。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-8 21:13:09 | 显示全部楼层
%f表示实型输出
%5f表示输出值占5个位置
%5.4f是在上面的基础上保留4位小数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-28 01:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表