3.3f这样表示中小数点前的数字到底啥意思啊

cosmos701 2011-07-16 06:58:09

比如有个程序
#include <stdio.h>

int main()
{
float a=134324.343750;
printf("%f\n%3.3f\n",a);
}
结果是
134324.343750
134324.344
小数点后的数字表示打印出来时候保留几个小数位,这个我知道了
小数点前的数字了?我之前以为是保留小数点前几个位置 但是实际程序却不是,查了资料说是所占的字段宽度
但是为什么在这个程序中我前面设定3的字段宽度 却打出134324.344这么长啊
还有问下 打印字符串%10s %10.5s 都什么意思
...全文
1386 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
AnYidan 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hnuqinhuan 的回复:]

当整数部分不够字宽是才起作用
超过了之后就没什么作用了 主要是一个用于对齐的作用
[/Quote]

++
uniqueroy 2011-07-16
  • 打赏
  • 举报
回复
学习了,
wohu007 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 c_losed 的回复:]
还有问下 打印字符串%10s %10.5s 都什么意思

%10s 如字符串本身长度大于10 则全部输出 反之 则左补空格

%10.5s 输出占10列 但只取字串中左端5个字符。这5个字符输出在10列的右侧 左补空格
[/Quote] +1
xxwy89 2011-07-16
  • 打赏
  • 举报
回复
但是为什么在这个程序中我前面设定3的字段宽度 却打出134324.344这么长啊
假如整数部分不够三位,那么左对齐,如果整数部分够三位了,则没有影响。而后面的3设置表示几位小数,不足的补0,多了就会舍去。对于字符串的同楼上。

c_losed 2011-07-16
  • 打赏
  • 举报
回复
还有问下 打印字符串%10s %10.5s 都什么意思

%10s 如字符串本身长度大于10 则全部输出 反之 则左补空格

%10.5s 输出占10列 但只取字串中左端5个字符。这5个字符输出在10列的右侧 左补空格
無_1024 2011-07-16
  • 打赏
  • 举报
回复
当整数部分不够字宽是才起作用
超过了之后就没什么作用了 主要是一个用于对齐的作用
cosmos701 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 c_losed 的回复:]
还有问下 打印字符串%10s %10.5s 都什么意思

%10s 如字符串本身长度大于10 则全部输出 反之 则左补空格

%10.5s 输出占10列 但只取字串中左端5个字符。这5个字符输出在10列的右侧 左补空格
[/Quote]

++1
谢谢啊
a554326643 2011-07-16
  • 打赏
  • 举报
回复
努力奋斗
jernymy 2011-07-16
  • 打赏
  • 举报
回复
支持1楼的
至善者善之敌 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 c_losed 的回复:]
还有问下 打印字符串%10s %10.5s 都什么意思

%10s 如字符串本身长度大于10 则全部输出 反之 则左补空格

%10.5s 输出占10列 但只取字串中左端5个字符。这5个字符输出在10列的右侧 左补空格
[/Quote]

++++1

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧