본문 바로가기

[iOS] Travel Planner 예산 입력 포맷 오류 해결

@xuv22024. 12. 1. 10:30

이전에 발생한 입력 포맷 오류를 해결했다.

https://bdisappointed.tistory.com/72

 

[iOS] Travel Planner 예산 입력 포맷 변경 후, 오류 발생

전체적인 기능 구현이 끝나고, 주변 친구들의 자문을 통해 좀 보완되어야 할 부분이 뭐가 있을까 하다가 한 친구가 말하길"예산을 입력할 때, 1000000 숫자 형태로 입력되니까 너무 숫자 읽기가 힘

bdisappointed.tistory.com

 

숫자 잘 저장되는 중

 

해결 절차는 아래와 같다.

String _formatWithCommasAndCurrency(String value) {
    value = value.replaceAll(RegExp(r'[^0-9]'), '');
    if (value.isEmpty) return '₩';

    final formatter = NumberFormat('#,###');
    return '₩${formatter.format(int.parse(value))}';
  }

1. 정규식으로 숫자가 아닌 문자는 제거(사실 공백으로 변환)

2. 문자열에는 숫자만 들어올 수 있게 한다

3. 만약 입력이 비어 있다면 ₩ 표시를 먼저 출력한다

4. 입력 타입을 #,### 형식으로 지정하여 3 개의 숫자 단위로 변경하여 읽기 편하게 수정한다

---- 여기까지가 저번에 구현한 것----

다른거 다 필요 없이 아래 코드 하나만 넣으니 해결

return '₩${formatter.format(int.parse(value))}';

value 를 int로 변환하여, 천단위의 문자열로 반환하게 하는 코드인데,

저번에는 내가 value 값을 직접 데이터로 사용하려고 해서 문제가 발생한 것 같다.

애초에 예산을 int 형으로 설정해놨는데, 막상 입력을 String 타입으로 받다보니 데이터 불일치 문제가 있었던 것 같다.

아무튼 해결했으니 휴 편안..

xuv2
@xuv2 :: xuvlog

폭싹 늙었수다

목차