python - 在 Python 中截断十进制值

我正在尝试在 Python 中截断十进制值。我不想四舍五入,而是只显示达到指定精度的十进制值。我尝试了以下方法:

d = 0.989434
'{:.{prec}f}'.format(d, prec=2)

这会将其四舍五入为 0.99。但我实际上希望输出为 0.98。显然,round() 不是一个选项。有没有办法做到这一点?还是我应该回到代码并将所有内容更改为 decimal

谢谢。

最佳答案

您可以使用以下代码

import decimal
d = 0.989434

print decimal.Decimal(d).quantize(decimal.Decimal('.01'), rounding=decimal.ROUND_DOWN)

https://stackoverflow.com/questions/20544714/

相关文章:

python - !r 在 str() 和 repr() 中做了什么?

javascript - 在 JavaScript 源代码中自动插入分号的实用程序?

html - 使 HTML 输出 R 中的粗体文本 Shiny

c# - 格式化跟踪输出

java - 内置字符串格式与字符串连接作为日志记录参数

linux - 使用 *nix 中的 column 命令格式化列表

c# - 如何在 c# 中生成像 "1st November"这样的日期格式

postgresql - 如何为 PostgreSQL 设置千位分隔符?

formatting - Dart 中的货币格式

java - 清理大型遗留 Java 项目