【问题标题】:Python: How do i Remove a CERTAIN amount of decimal in a float [duplicate]Python:我如何在浮点数中删除一定数量的小数[重复]
【发布时间】:2020-04-09 14:00:08
【问题描述】:

所以我遇到了这个问题,我从 0-1 生成数字,步长为 0.01,但这些数字有很多小数,如 0.010101010101。我只需要 0.01 的形式,有两个小数。

我如何删除其余的小数?

【问题讨论】:

  • 您究竟是如何生成这些数字的?您观察到的内容无法用浮点数中隐含的舍入误差来解释。你似乎在做某种奇怪的字符串连接。在 is floating point math broken? 的另一个副本中要么那个要么这个

标签: python math decimal


【解决方案1】:

你可以像这样格式化小数

your_value = 0.1010101010
desired_value = '%.2f' % your_value

现在desired_value 的小数点最多保留两位。

【讨论】:

    【解决方案2】:

    或者你可以使用十进制。 查看链接中的文档: https://docs.python.org/3/library/decimal.html

    【讨论】:

      【解决方案3】:

      将数字四舍五入到数字位置。 round(num, digits)

      【讨论】:

      • 这个效果最好。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 1970-01-01
      • 2015-10-02
      • 2014-04-06
      相关资源
      最近更新 更多