波大大12138 发表于 2020-6-2 12:53:02

同一个问题两种解法的不同

想要显示pi=3.14format前边的字符串该怎么填
1.'{0}{1:.2f}'.format('pi=','3.1415')
2..'{0}{1:3.2f}'.format('pi=','3.1415')
我自己写的这里多了一个3答案也是对的,想知道加不加3有什么区别没有?具体的区别是什么

yifenyu 发表于 2020-6-2 13:06:32

3 那位置 是对齐用的 你改成10 试试看区别

Twilight6 发表于 2020-6-2 13:06:45

本帖最后由 Twilight6 于 2020-6-2 13:07 编辑

格式化辅助命令m.n

m 是字符最小宽度,n是小数点后几位数

你多写了 3 对值本身没有影响,只是字符串如果长度小于 3 就会用空格填充

你可以写个 {:50.2f}这样试试看 就知道是什么效果了




波大大12138 发表于 2020-6-2 21:57:37

Twilight6 发表于 2020-6-2 13:06
格式化辅助命令m.n

m 是字符最小宽度,n是小数点后几位数


还有一个问题刚刚发现的后面的3.1415不能加引号是为什么啊:format(‘pi=’,3.1415)。我加了引号显示错误了

Twilight6 发表于 2020-6-2 21:58:45

波大大12138 发表于 2020-6-2 21:57
还有一个问题刚刚发现的后面的3.1415不能加引号是为什么啊:format(‘pi=’,3.1415)。我加了引号显示 ...

你用了中文的引号,改成英文即可

波大大12138 发表于 2020-6-2 22:01:57

Twilight6 发表于 2020-6-2 21:58
你用了中文的引号,改成英文即可

不是,是3.1415不能加引号,我加了为什么不能加?
'{0}{1:.2f}'.format('pi=','3.1415')这样是错误的

Twilight6 发表于 2020-6-2 22:04:39

波大大12138 发表于 2020-6-2 22:01
不是,是3.1415不能加引号,我加了为什么不能加?
'{0}{1:.2f}'.format('pi=','3.1415')这样是错误的

因为加了引号就不再是 浮点型的数值了,而是字符串,而你格式化 f 的意思是格式化浮点型,而且字符串不能用小数点的格式化辅助命令

波大大12138 发表于 2020-6-2 22:07:03

Twilight6 发表于 2020-6-2 22:04
因为加了引号就不再是 浮点型的数值了,而是字符串,而你格式化 f 的意思是格式化浮点型,而且字符串不能 ...

好的懂了,谢谢

Twilight6 发表于 2020-6-2 22:07:30

波大大12138 发表于 2020-6-2 22:07
好的懂了,谢谢

没事 能帮助到你就好
页: [1]
查看完整版本: 同一个问题两种解法的不同