我想显示:
49
作为 49.00
和:
54.9
作为 54.90
不管小数点的长度或是否有任何小数位,我想显示一个 Decimal
有 2 个小数位,我想以一种有效的方式来做。目的是显示金钱价值。
例如, 4898489.00
对于内置 float
类型的类似问题,请参阅将 浮点数限制为两位小数。
原文由 orokusaki 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想显示:
49
作为 49.00
和:
54.9
作为 54.90
不管小数点的长度或是否有任何小数位,我想显示一个 Decimal
有 2 个小数位,我想以一种有效的方式来做。目的是显示金钱价值。
例如, 4898489.00
对于内置 float
类型的类似问题,请参阅将 浮点数限制为两位小数。
原文由 orokusaki 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该使用 新的格式规范 来定义您的值的表示方式:
>>> from math import pi # pi ~ 3.141592653589793
>>> '{0:.2f}'.format(pi)
'3.14'
该文档有时可能有点晦涩,因此我推荐以下更易于阅读的参考资料:
.format()
字符串格式%
字符串格式与新式 .format()
字符串格式Python 3.6 引入了 文字字符串插值(也称为 f 字符串),因此现在您可以将上面的代码写得更简洁:
>>> f'{pi:.2f}'
'3.14'
原文由 BioGeek 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答861 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
我想您可能正在使用
Decimal()
来自decimal
模块的对象? (如果您需要精确到小数点后任意大数字的两位数精度,那么您绝对应该这样做,这就是您的问题标题所暗示的…)如果是这样,文档的 Decimal FAQ 部分有一个问题/答案对,可能对您有用:
下一个问题是
如果您需要答案(以及许多其他有用信息),请参阅 文档的上述部分。此外,如果您将
Decimal
保留为小数点后两位数的精度(这意味着将所有数字保留在小数点左侧和小数点右侧两位以及不再……),然后将它们转换为字符串str
将工作正常: