Một cách nhanh chóng không có trí tuệ:Format cắt ngắn Python phao như int trong chuỗi
some_float = 1234.5678
print '%02d' % some_float # 1234
some_float = 1234.5678
print '{WHAT?}'.format(some_float) # I want 1234 here too
Lưu ý: {:.0f}
không phải là một lựa chọn, bởi vì nó vòng (trả 1235
trong ví dụ này).
format(..., int(some_float))
chính xác là điều tôi đang cố gắng tránh, vui lòng không đề xuất điều đó.
@MartijnPieters Có lẽ vì nó tròn thay vì cắt ngắn? Định dạng '" {: .0f} "(1234.5678)' là '" 1235 "', không phải '" 1234 "'. – Blckknght
Điều gì sẽ xảy ra nếu chuyển đổi phao sang 'int()' hoặc cắt bớt nó là các lựa chọn duy nhất? Bước tiếp theo là tạo một lớp con 'float()' tùy chỉnh để tùy chỉnh móc '.__ format __()'. –
Lưu ý rằng trong đoạn mã này: ''% 02d'% some_float' một chuyển đổi ẩn thành' int' đang diễn ra, bạn không thể tránh một số loại chuyển đổi để in theo định dạng mong muốn –