방구석지니의 계좌평가현황에서 "손익률(%)"을 표시하는 컬럼이 있는데 손익률이다 보니 소수점 2자리까지만 표현하고 있는데 아래 그림처럼 자리수가 맞지 않게 나와 가독성이 떨어진다는 회원님의 개선 요청이 있었다.
일반적으로 소수점 2자리까지 0으로 채워서 표현하는 방법은 아래와 같다.
double a=2.3
string a_str = a.tostring("N2");
// a_str은 "2.30"
이 방법을 사용하면 소수점 2자리까지 모두 0으로 채워져서 예쁘게 나와야 하는데 아무리해도 반영이 되지 않았다.
알고 보니 [손익률(%) 컬럼의 coulmnType 이 Double 로 설정되어 있어. 0을 채운 소수점 2자리 실수를 저장해도 다시 원 실수로 바뀌어버리는 문제가 있었다. 이 컬럼의 타입을 string으로 바꾸면 해결되는 문제지만 이미 이 컬럼의 값을 이용해 손절이나 익절 등에서 사용하고 있어서 자치 다른 기능들에 장애가 발생할 수가 있어 쉽게 바꿀수가 없었다.
그래서 찾아낸 방법이 해당 컬럼의 Format을 아래와 같이 설정하는 것이다.
this.dgv.Columns["손익률(%)"].DefaultCellStyle.Format = "N2";
그럼 아래와 같이 아주 깔끔하게 손익률이 표시되는 것을 확인할 수 있다.
이 간단한 방법을 찾아 오늘도 삽질을 했다...
댓글 없음:
댓글 쓰기