【问题标题】:Python format function: 1 decimal place [duplicate]Python格式函数:1位小数[重复]
【发布时间】:2018-01-17 11:33:04
【问题描述】:

我有以下几点:

'{0:n}'.format(0/10.0)

计算结果为

0

我希望它评估为

0.0

也就是说,应该始终保留 1 位小数。正确的格式是什么?

谢谢。

【问题讨论】:

标签: python


【解决方案1】:
print('{0:3.1f}'.format(0/10.0))  # '0.0'

ffixed-point notation; 3 表示为整个字符串保留的总位数,1 表示小数位。

如果您的数字太大而无法容纳 3 个保留空间,则字符串将使用更多空间:

print('{0:3.1f}'.format(10.0))  # '10.0'; 4 places

使用更新的 python 版本,您可以使用 f-strings(我将值放在变量中以提高可读性)

x= 0/10.0
print('f{x:3.1f}')

【讨论】:

  • 这个问题是,文档说 n “使用当前的语言环境设置来插入适当的数字分隔符。”我的格式字符串需要正确本地化。
  • f 实际上是一种浮点表示类型,代表“定点表示法”。 See the docs.
  • @daviewales 啊,是的,没错。将更新答案。谢谢!
【解决方案2】:
In [24]: "{0:.1f}".format(0)
Out[24]: '0.0'

【讨论】:

    【解决方案3】:

    如果您更改数据以浮动小数。 a= 1.0 # "a" 是一个浮点数 a= 1 # "a" 现在是一个整数

    试试看:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 2011-03-22
      • 1970-01-01
      • 2014-08-18
      • 1970-01-01
      相关资源
      最近更新 更多