我找到了幾十個答案,但是沒有一個是我要的答案,我不想向上或向下取整,我知道我可以按以下方式對數字進行取整:>>> 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
提交
取消