[Rust] format! 등의 포맷 문자열 조작

특정 자릿수의 숫자를 문자열로 변환할 일이 있었다. 여백은 0으로 채우고.

근데 문제는, 가장 좋은 방법은 format!을 사용하는 것인데, format의 첫번째 연자는 '리터럴' 자체만 전달이 가능하단 것이었다.

그래서 아래와 같은 코드는 로직상으론 문제가 없지만 에러를 던진다... image

image

해결책은.. 의외로 간단했다.
포맷 문자열 자체에서 추가로 인자를 받는 방법이 있었던 것이다.

이렇게 짜면 된다. 달러 붙여서 image

image usize만 받을 수 있어서 캐스팅 처리를 했다.


참조
https://stackoverflow.com/questions/41820818/how-can-i-0-pad-a-number-by-a-variable-amount-when-formatting-with-stdfmt