我找到了几十个答案,但是没有一个是我要的答案,我不想向上或向下取整,我知道我可以按以下方式对数字进行取整:>>> print('%.3f' % 15.555555)15.556>>> round(15.555555, 3)15.666但是我需要得到15.555。我应该使用正则表达式吗?
2 回答

慕雪6442864
TA贡献1812条经验 获得超5个赞
我的解决方案涉及int
滥用。舍入到int
最接近的0。我将其乘以10**3
影响舍入。使用后int
,我将其除以10**3
得到实际结果。
它更安全,因为它确实可以使用e
符号。
int(15.55555 * 10**3) / 10.0**3

慕田峪7331174
TA贡献1828条经验 获得超13个赞
厚脸皮的解决方案:
numstring = str(15.555555)
num = float(numstring[:numstring.find('.')+4])
添加回答
举报
0/150
提交
取消