빗썸이 제공하는 RestAPI를 활용하여 필자가 만든 앱인데
가격이 만 단위를 넘어가면 쉼표를 찍어줌으로써
좀 더 보기좋게 만들어 줄 수 있다.
처음 만들 때 char 배열로 만든 뒤 index를 4개 단위로 묶어서
쉼표를 찍어볼려고 했으나 맨 땅에 헤딩하는 수준의 하드코딩이었고
출력도 제대로 안되어서 다른 방법을 찾던 도중
DecimalFormat 클래스를 이용해서 매우 손쉽게(...) 처리할 수 있었다.
fun makeComma(price : S의 tring) : String {
//소숫점이 존재하거나 천 단위 이하일 경우 생략
if(price.contains(".") || price.length < 4) {
return price
}
val formatter = DecimalFormat("###,###")
return formatter.format(price.toLong())
}
역시 라이브러리를 잘 활용할 줄 알아야한다..
소숫점이 존재하거나 천 단위 이하여서 쉼표를 붙일 필요가 없는 경우
그대로 return 시켜서 생략시키도록 하고
DecimalFormat의 생성자로 만들고 싶은 형식을 지정한 뒤
format() 메소드에 값을 넣어주면
그 값을 지정한 형식에 맞게 만들어서 반환해준다.
오라클에서 제공하는 Java 라이브러리이며
숫자(Integer, Double 등)의 Format을 변경할 수 있는 클래스이다.
위에서 필자가 사용한 것처럼 숫자 사이에 점이나 콤마를 넣어줄 수도 있고
화폐통화를 붙일수도 있다.
활용방안이 매우 많다보니 자세한 것은 가이드 문서를 참고해보길 바란다.
개인적으로 공부했던 것을 바탕으로 작성하다보니
잘못된 정보가 있을수도 있습니다.
인지하게 되면 추후 수정하겠습니다.
피드백은 언제나 환영합니다.
읽어주셔서 감사합니다.