Section 12.11: ToString() 메소드와의 비교

String.Format() 메소드는 각종 데이터를 문자열로 서식화 시키는 데에 있어서 매우 유용한 것은 사실이나, 아래와 같이 하나의 객체를 간단히 변환하고자 할 때 사용하기에는 너무 복잡하다는 느낌이 들 수도 있다:

String.Format("{0:C}", money); // "$42.00" 로 변환된다

조금 더 간단한 방법으로는, C# 의 모든 객체들에서 제공하고 있는 ToString() 메소드를 사용하는 것이다. 이는 모든 표준 및 사용자 서식 문자열을 동일하게 제공하지만, 하나의 인자만을 사용하기 때문에 복잡한 parameter mapping 정보를 기술하지 않아도 된다:

money.ToString("C"); // "$42.00" 로 변환된다

서식 사용상의 제약 사항 및 주의점

위와 같은 접근법은 몇몇 경우에 좀 더 손쉽게 사용할 수 있으나, ToString() 만으로는 String.Format() 에서 제공하던 문자열 좌/우측에 여백 문자 추가 (padding) 기능이 제공되지 않는 문제점이 있다:

String.Format("{0,10:C}", money); // "    $42.00" 로 변환된다

ToString() 메소드를 이용하면서도 동일한 결과를 얻길 원한다면, 여백문자를 삽입할 좌/우측 방향에 따라 PadLeft() 혹은 PadRight() 를 각각 사용할 수 있다:

money.ToString("C").PadLeft(10); // "    $42.00" 로 변환된다
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts