Można obciąć ciągi z specyfikatorem printf
field-width:Określanie maksymalnej szerokości pola printf dla liczb (obcięcie w razie potrzeby)?
printf("%.5s", "abcdefgh");
> abcde
Niestety to nie działa dla liczb (zastępując d
z x
jest taka sama): istnieje prosty
printf("%2d", 1234); // for 34
printf("%.2d", 1234); // for 34
printf("%-2d", 1234); // for 12
printf("%-.2d", 1234); // for 12
> 1234
jest/trywialny sposób określenia liczby cyfr do wydrukowania, nawet jeśli oznacza to obcięcie liczby?
MSDN specjalnie says that it will not happen, który wydaje się niepotrzebnie ograniczać. (Tak, można to zrobić, tworząc ciągi i takie, ale mam nadzieję na “printf trick” lub sprytny kludge.)
Jeśli chcesz obciąć od lewej, przy założeniu wartości są liczbami całkowitymi, tylko dzielić. np .: '1234/100 // dla 12' –
@ortang, tak, wiem, ale to [nie to samo co obcięcie z prawej] (http://stackoverflow.com/questions/9953125/9957649?noredirect= 1 # comment34294951_22533677). – Synetech