鱼C论坛

 找回密码
 立即注册
查看: 7975|回复: 6

[已解决]%2f, %.2f, %.02f, %+.2f 糊涂了,请帮忙解释

[复制链接]
发表于 2019-5-21 10:23:16 | 显示全部楼层 |阅读模式

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

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

x
%2f,  %.2f,  %.02f,  %+.2f
这些已经彻底把我搞糊涂了,大神们,能帮我举例说明都是什么意思吗?谢谢
最佳答案
2019-5-21 11:01:24
  1. # 字符串的格式化
  2. #   %s 表示简单的字符串
  3. #   %d 表示整数
  4. #   %f 表示一个浮点数 .x表示允许输出的浮点数位数. x表示一个整数,意为浮点数后面出现的位数
  5. # %2f,  %.2f,  %.02f,  %+.2f
  6. a = 100.0000
  7. b = 200
  8. c = 300
  9. d = 400

  10. print("A是 %2d" % a) # a 为浮点数,格式化后输出一个整数
  11. print("A是 %2f" % a) # %2f 的写法也是不正确的,输出结果跟实际需求可能不符
  12. print("b是 %.1f" % b) # %.1f 表示一位,%.2f表示两位,以此类推
  13. print("B是 %.2f" % b)
  14. print("D是 %.3f" % b)
  15. print("C是 %.02f" % c) # 这里%.02f的表达方式应该是不正确的,但是它的输出结果跟上面相同
  16. print("C是 %.03f" % c)
  17. print("D是 %+.2f" % d)

  18. # 一般情况下建议使用 str.format()
  19. age = 18
  20. name = "小鱼儿"
  21. home = "中国"
  22. print("我今年{0}岁了, 我的名字叫{1}, 我来自{2}".format(age,name,home))

  23. # 使用%s %d 也是可以的
  24. print("我今年%d岁了, 我的名字叫%s, 我来自%s" % (age,name,home))
复制代码


新人拙见,如有不正之处请指出
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-5-21 10:45:16 | 显示全部楼层
另外怎么编程,同时打印这几种类型的浮点数呢?
例如print("%2f %.2f %.02f %+.2f"
不知道什么格式,怎么写
谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-21 10:45:37 | 显示全部楼层
%+辅助命令(+,-,0..)+对应的数据类型(f,s,d...)
结合这个结构和下面这篇文章,自己试试就知道了。
字符串格式化符号含义及转义字符含义

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-21 10:57:10 | 显示全部楼层
东北大犟 发表于 2019-5-21 10:45
%+辅助命令(+,-,0..)+对应的数据类型(f,s,d...)
结合这个结构和下面这篇文章,自己试试就知道了。
字符串 ...

我也想拿数字进行试验,不知道怎么写后面的格式
print("%2f %.2f %.02f %+.2f"
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-21 11:01:24 | 显示全部楼层    本楼为最佳答案   
  1. # 字符串的格式化
  2. #   %s 表示简单的字符串
  3. #   %d 表示整数
  4. #   %f 表示一个浮点数 .x表示允许输出的浮点数位数. x表示一个整数,意为浮点数后面出现的位数
  5. # %2f,  %.2f,  %.02f,  %+.2f
  6. a = 100.0000
  7. b = 200
  8. c = 300
  9. d = 400

  10. print("A是 %2d" % a) # a 为浮点数,格式化后输出一个整数
  11. print("A是 %2f" % a) # %2f 的写法也是不正确的,输出结果跟实际需求可能不符
  12. print("b是 %.1f" % b) # %.1f 表示一位,%.2f表示两位,以此类推
  13. print("B是 %.2f" % b)
  14. print("D是 %.3f" % b)
  15. print("C是 %.02f" % c) # 这里%.02f的表达方式应该是不正确的,但是它的输出结果跟上面相同
  16. print("C是 %.03f" % c)
  17. print("D是 %+.2f" % d)

  18. # 一般情况下建议使用 str.format()
  19. age = 18
  20. name = "小鱼儿"
  21. home = "中国"
  22. print("我今年{0}岁了, 我的名字叫{1}, 我来自{2}".format(age,name,home))

  23. # 使用%s %d 也是可以的
  24. print("我今年%d岁了, 我的名字叫%s, 我来自%s" % (age,name,home))
复制代码


新人拙见,如有不正之处请指出
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-21 12:31:41 | 显示全部楼层
破月霜华 发表于 2019-5-21 11:01
新人拙见,如有不正之处请指出

太感谢了!
我测试了, %.2f,  %.02f是一样的结果?真的是一样吗?谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-21 13:11:13 | 显示全部楼层
zzslzsl 发表于 2019-5-21 12:31
太感谢了!
我测试了, %.2f,  %.02f是一样的结果?真的是一样吗?谢谢

%.2f 这是标准写法, 要是%.02f这样写的话就不太严谨

写代码要严谨,严格按照规范书写,这样才比较容易纠错,
有bug利于排查,也方便他人查看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-21 12:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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