【问题标题】:Truncation of floating point numbers [duplicate]浮点数的截断[重复]
【发布时间】:2019-06-13 15:58:25
【问题描述】:

我想截断小数点后第三位的浮点数。但是,我不想四舍五入。

float("{0:.3f}".format(132.32579))

上面的代码生成 132.326,但我希望它生成 132.325。任何帮助表示赞赏

【问题讨论】:

    标签: python truncation


    【解决方案1】:

    您可以再四舍五入到 1 位,将字符串切片以忽略最后一位数字并转换回浮点数:

    print( float("{0:.4f}".format(132.32579) [:-1]))
    

    您可以通过乘以 1000、转换为 int 并再次除以 1000.0 来避免字符串转换/舍入:

    print( float(int(132.32579*1000)/1000.0))
    

    输出(两者):

    132.325
    

    【讨论】:

      猜你喜欢
      • 2020-05-12
      • 2013-12-31
      • 2011-06-07
      • 2012-05-07
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多