【问题标题】:Output a number up to N decimal places withoud rounding输出最多 N 个小数位的数字,不四舍五入
【发布时间】:2018-10-12 02:11:56
【问题描述】:

如果我有数字 1.2348,并且我使用舍入函数将其四舍五入到小数点后 3 位,我会得到 1.235,但我想得到 1.234。如果我这样做了:

num=1.2348
print(str(num)[:5])

我会得到一个字符串,如果我尝试再次将该字符串转换回一个 int(因为我需要它是一个 int),它会引发一个 ValueError。

【问题讨论】:

  • 你需要什么才能成为一个int?希望它不是 1.234,因为它永远不会是 int。
  • 我的意思是浮动,你的回答有效,谢谢。

标签: python-3.x floating-point


【解决方案1】:

这会做你想做的事:

>>> int(num*1000)/1000.0
1.234

除非您遇到舍入错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2020-06-24
    • 2010-09-14
    • 2023-02-08
    相关资源
    最近更新 更多