홈 > 프로그래밍 > 자바
자바

실수값(소수점)이 담긴 문자 파싱하는 방법

드리머즈 0 3983


1
float floatPrice = Float.parseFloat("1,234,567.890");
cs

위의 코드로 실수값 문자열을 파싱하면 잘 동작할 줄 알았는데 문제가 좀 있네요.


어째서인지 floatPrice를 찍어보면 1234567.9의 값을 출력합니다.


1
2
3
4
5
6
7
8
9
try{
    DecimalFormat myFormatter = new DecimalFormat("#,##0.00");
    Number n = myFormatter.parse(stringPrice);
    formattedStringPrice = myFormatter.format(n);
} catch (NumberFormatException nfe) {
// do nothing?
} catch (ParseException e) {
// do nothing?
}
cs


차라리 위의 코드와 같이 Number와 Decimal Format을 이용하니 잘 동작하네요 흠..


혹은..

정확도를 높이기 위해 float가 아닌 double 타입을 사용하는 것도 좋아 보입니다.

0 Comments
제목
Category
State
  • 현재 접속자 4 명
  • 오늘 방문자 92 명
  • 어제 방문자 197 명
  • 최대 방문자 8,746 명
  • 전체 방문자 309,059 명
  • 전체 게시물 97 개
  • 전체 댓글수 16 개
  • 전체 회원수 45 명
Facebook Twitter GooglePlus KakaoStory NaverBand