A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ALin 中级黑马   /  2015-7-13 21:56  /  10937 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

%f的具体使用方法?遇到的几种形式都不一样

11 个回复

倒序浏览
就知道它是float的占位符。。。
回复 使用道具 举报
%f应用于单精度和双精度的浮点型数   单精度可以输出7位有效数字 double为15位有效数字
回复 使用道具 举报
%f 指输出实型常量
默认输出6位小数  有效数字7位
%m.nf     m表示总的位数       n表示小数点后面的位数
%7f  表示输出7位有效数字
%.7f   表示输出小数点后7位   如果小数点前还有有效数字结果可能不准确
今天做的笔记 大致你看下
回复 使用道具 举报
楼上说的对!!赞一个
回复 使用道具 举报
同意楼上,总结的太好了,让我无言以对
回复 使用道具 举报
给你总结一下%后面接的东西吧 看完你就懂了
格式控制符:
       %d:   输出一个10进制的整数;%md问题:m表示域宽也可以理解为位数,可为正可为负 正表示左侧空格 负表示右侧空格;
       %f    输出一个实数类型的数据;默认输出为6位小数 不足补零;如果只想打印两位小数 则在f前写入.2 就是printf("f1=%.2f",f1);
             如果写成%d6.3f  其中6表示有6位数 .3表示是3位小数; 如果是%-6.3f表示位数不够的时候从右边空小数;如果不是负数而小数位不够就会从左边空格;
             精度问题:float:%f打印出来后,精度小数位为6位 有效数字是7位 到第八位时就不精确了 如3.1415926有八位数字了 所以最后第八个数子就算打印出来也是无效数字;
                       double:双精度下有效位是15位 只要写 double d1=3.1415926;printf(d1=“%.7f”,d1);就可以打印出来了
       %c    输出一个字符;
       %s    输出一个字符串;
       %o    输出一个八进制数;
       %x    输出一个十六进制数;
       %p    输出一个地址;
回复 使用道具 举报
看来是来晚了
回复 使用道具 举报
楼上的都帮你总结好了,我也来再复习一下
回复 使用道具 举报
hanjiaqi 发表于 2015-7-13 22:10
%f 指输出实型常量
默认输出6位小数  有效数字7位
%m.nf     m表示总的位数       n表示小数点后面的位数 ...

总结的不错啊
回复 使用道具 举报
hanjiaqi 发表于 2015-7-13 22:10
%f 指输出实型常量
默认输出6位小数  有效数字7位
%m.nf     m表示总的位数       n表示小数点后面的位数 ...

我想问一下,你的技术分是咋得的啊?
回复 使用道具 举报
复习一下吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马