【发布时间】:2019-06-26 15:50:31
【问题描述】:
浮点数 = 11.0000123456789
我想将上面的浮点数四舍五入为 11.00001235。所以我希望浮点数的基数部分舍入为 4 位,同时忽略并保留前导零并在末尾添加回有效数字。
我有以下内容,它简短而甜蜜,但感觉有点像变通。
import decimal
decimal.getcontext().prec = 4
significand, base = str(11.0000123456789).split('.')
fp = significand + str(decimal.Decimal('.' + base) + 0)[1:] # I need to add 0 here for it to work
print(fp)
我真的找不到具体问题的答案。我想知道实现这一目标的最 Pythonic 方式是什么,或者我所拥有的是否足够体面。我觉得有点粗制滥造。
编辑:前导零的数量未知,我选择了四个作为示例。所以我不认为字符串格式化会起作用。
【问题讨论】: