마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[부탁드립니다] 자바 변수형에 대해 문의합니다.

0 추천

lengh가 9인 int형 변수  A를

입력받은 값이 만약 200이면 000000200형식으로 입력받고 싶습니다.

방법이 따로 있나요? 

그리고 혹시 int 의 length를 체크할 수 있는 방법이 있으면 좀 부탁드릴게요

쮸뿌쮸뿌 (2,470 포인트) 님이 2016년 2월 16일 질문

2개의 답변

0 추천

안녕하세요. 아래 참고 하세요.

 

1) int length 구하기

int a = 1234;

System.out.println(String.valueOf(a).length());
결과 값 : 4

 

2) 입력 값을 특정 자리수로 리턴하기

우선 말씀하신 것처럼 200을 입력받았는데 int 형에 000000200 값을 넣을 수는 없습니다.

000000200 값은 문자열로 받으셔야 할거 같습니다.

public static void main(String[] args){
		
  try {

    StringBuffer zero = new StringBuffer();

    int i = 200;	// 입력받은값
    int len = 9;	// 원하는 자리수

    for(int n = 0; n < len; n++){
      zero.append("0");
    }

    java.text.DecimalFormat dformat = new java.text.DecimalFormat(zero.toString());

    System.out.println(dformat.format(i)); // 결과값

  }
  catch (Exception e) {
    e.printStackTrace();
  }
}
결과 값 : 000000200

 

도움이 되셨는지 모르겠네요.

수고하세요.

 

 

도몬 (140 포인트) 님이 2016년 2월 16일 답변
도몬님이 2016년 2월 16일 수정
허..너무 감사해요ㅠ_ㅠ아직까지 헤매고 있었는데 큰 도움 얻었습니다.
감사합니다.
0 추천
String.format("%09d", 200);

스트링 포멧을 이용하면 아주 쉽게 구현 가능합니다.
ThisPlus (46,920 포인트) 님이 2016년 2월 16일 답변
사이즈 9의 숫자를 배열로 담을건데 가능한건가요?
9자리 숫자가 나왔으니 배열에 담으시면 되죠~~!
9자리가 들어올지 몇자리가 들어올지는 모르는 상황입니다.
단지 String[9]는 고정으로 무조건 넘겨줘야합니다. 만약 30000이 들어오면 000030000으로 넘겨줘야 하구요. 배열9에 뒤에서부터 들어온 값을 받아서 세팅해주는 로직입니다ㅜ_ㅜ..
제가 format은 사용을 많이 안해봤더니 이런..ㅠㅠㅠ감사해요
...