删除小数点后一位数字而不四舍五入

我找到了几十个答案,但是没有一个是我要的答案,我不想向上或向下取整,我知道我可以按以下方式对数字进行取整:


>>> print('%.3f' % 15.555555)

15.556


>>> round(15.555555, 3)

15.666

但是我需要得到15.555。我应该使用正则表达式吗?


HUWWW
浏览 323回答 2
2回答

慕雪6442864

我的解决方案涉及int滥用。舍入到int最接近的0。我将其乘以10**3影响舍入。使用后int,我将其除以10**3得到实际结果。它更安全,因为它确实可以使用e符号。int(15.55555 * 10**3) / 10.0**3

慕田峪7331174

厚脸皮的解决方案:numstring = str(15.555555)num = float(numstring[:numstring.find('.')+4])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python