본문 바로가기
비전공자를 위한 Flutter/Flutter 심화과정

How to make money format flutter 돈 포맷 3자리 콤마 만들기

by 밍잔 2022. 7. 4.

앱을 개발하다보면 원화 표시를 위해 3자리마다 콤마를 넣어야 하는 일이 자주 있는데요.

 

예전에는 아래 패키지를 사용했었습니다만.

 

money_formatter | Flutter Package

MoneyFormatter is a Flutter extension to formatting various types of currencies according to the characteristics you like, without having to be tied to any localization.

pub.dev

 

원화만 표시할 때에는 소수점도 필요없고 다른 통화들의 심볼도 필요없기 때문에 패키지가 기본적으로 다른 연산을 하는 일을 방지하고자 오로지 원화 표시를 위한 하나의 메소드를 만들었습니다.

 

String moneyFormat(double value) {
  List<String> characters = value.toStringAsFixed(0).split("");
  List<String> reversedCharacters = characters.reversed.toList();
  List<String> result = [];

  for (int i = 0; i < reversedCharacters.length; i++) {
    result.add(reversedCharacters[i]);
    if (i > 0 && (i + 1) % 3 == 0 && i < reversedCharacters.length - 1) {
      result.add(",");
    }
  }

  result = result.reversed.toList();
  return result.join("");
}

 

예시 : moneyFormat(1000)의 결과값은 "1,000" 입니다.

토폴로지를 사용하면 아래와 같이 사용이 가능합니다.

 

Text("${moneyFormat(1000)}원")

 

댓글