Szybkim nie myślenia:Format obcięty Python pływak jako int w ciąg
some_float = 1234.5678
print '%02d' % some_float # 1234
some_float = 1234.5678
print '{WHAT?}'.format(some_float) # I want 1234 here too
Uwaga: {:.0f}
nie jest opcją, ponieważ rund (zwraca 1235
w tym przykładzie).
format(..., int(some_float))
jest dokładnie tym, czego staram się unikać, nie sugeruj tego.
@MartijnPieters Być może dlatego, że zaokrągla, a nie obcina? '" {: .0f} ". Format (1234.5678)' jest '" 1235 "', nie '" 1234 "'. – Blckknght
Co zrobić, jeśli konwersja float na 'int()' lub obcięcie są jedynymi opcjami? Kolejnym krokiem jest utworzenie niestandardowej podklasy 'float()' w celu dostosowania haka '.__ w formacie __()'. –
Należy zauważyć, że w tym fragmencie: '% 02d '% some_float' następuje niejawna konwersja do' int', nie można uniknąć konwersji w celu drukowania w pożądanym formacie. –