鱼C论坛

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

[已解决]格式化浮点数

[复制链接]
发表于 2023-4-17 17:32:10 | 显示全部楼层 |阅读模式

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

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

x
>>> a = '{0:$>0.2f}'.format(3.1415926) # 请教应如何此行代码应修改才能返回下面的返回值?
'$$3.14'
最佳答案
2023-4-17 17:39:22
您可以通过在格式化字符串中使用大括号 {} 里的条件来修改代码,使其返回所需的结果。在这个例子中,您可以使用以下代码:
a = '{0:$>6.2f}'.format(3.1415926)

这将返回 '$$3.14'。

解释:

  • {} 中的 0 表示第一个参数,即 3.1415926。
  • $ 是填充字符,用于填充未被浮点数占据的空间。
  • > 表示右对齐。
  • 6 表示总宽度为 6 个字符。
  • .2f 表示保留两位小数的浮点数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-17 17:33:47 | 显示全部楼层
本帖最后由 歌者文明清理员 于 2023-4-17 17:40 编辑

要修改给定的代码行以返回所需的输出,您应该将格式说明符从‘$>0.2f’更改为‘$$.2f’,如下所示:
a = '{0:$$.2f}'.format(3.1415926)
这将把浮点数格式化为小数点后面的2位数字(“.2f”),并在它前面加上两个美元符号(“$$”),以获得所需的输出$3.14。


                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-17 17:36:08 | 显示全部楼层
要想让此行代码返回 '$$3.14',可以将格式字符串中的格式说明符进行修改。具体来说,可以将 "$>" 改为 "$$",即可让输出结果中使用两个美元符号,并且填充字符采用 "$" 符号。同时,还需要将小数点后保留的位数改为 2。

修改后的代码如下所示:
a = '{0:$$0.2f}'.format(3.1415926)

执行该代码后,会得到以下返回结果:
'$$3.14'
有用请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-17 17:39:22 | 显示全部楼层    本楼为最佳答案   
您可以通过在格式化字符串中使用大括号 {} 里的条件来修改代码,使其返回所需的结果。在这个例子中,您可以使用以下代码:
a = '{0:$>6.2f}'.format(3.1415926)

这将返回 '$$3.14'。

解释:

  • {} 中的 0 表示第一个参数,即 3.1415926。
  • $ 是填充字符,用于填充未被浮点数占据的空间。
  • > 表示右对齐。
  • 6 表示总宽度为 6 个字符。
  • .2f 表示保留两位小数的浮点数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-17 17:58:04 | 显示全部楼层
歌者文明清理员 发表于 2023-4-17 17:33
要修改给定的代码行以返回所需的输出,您应该将格式说明符从‘$>0.2f’更改为‘$$.2f’,如下所示:

这 ...

返回错误?

>>> a = '{0:$$.2f}'.format(3.1415926)
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    a = '{0:$$.2f}'.format(3.1415926)
ValueError: Invalid format specifier
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-17 17:58:54 | 显示全部楼层
sfqxx 发表于 2023-4-17 17:36
要想让此行代码返回 '$$3.14',可以将格式字符串中的格式说明符进行修改。具体来说,可以将 "$>" 改为 "$$" ...

为何返回错误?

>>> a = '{0:$$0.2f}'.format(3.1415926)
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    a = '{0:$$0.2f}'.format(3.1415926)
ValueError: Invalid format specifier
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-17 18:00:02 | 显示全部楼层
lzb1001 发表于 2023-4-17 17:58
返回错误?

>>> a = '{0:$$.2f}'.format(3.1415926)
>>> a = '$${:.2f}'.format(3.1415926)
>>> a
'$$3.14'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 20:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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