programing

Android에서 문자열을 정수로 변환

sourcetip 2022. 8. 15. 10:15
반응형

Android에서 문자열을 정수로 변환

문자열을 정수로 변환하려면 어떻게 해야 합니까?

텍스트 상자에 사용자가 숫자를 입력하도록 지시했습니다.

EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();

이 값은 되어 있습니다.hello.

입력한 숫자를 가져올 수 있도록 정수로 변환하고 싶습니다. 나중에 코드에서 사용됩니다.

EditText 수 있을까요그건 중간자를 건너뛰는 거야.그렇지 않으면 문자열에서 정수로 변환해도 됩니다.

및 Integer static을 하십시오.parseInt()★★★★

http://developer.android.com/reference/java/lang/Integer.html

Integer.parseInt(et.getText().toString());

.NumberFormatException분석 중에 과 같이

int myNum = 0;

try {
    myNum = Integer.parseInt(et.getText().toString());
} catch(NumberFormatException nfe) {
   System.out.println("Could not parse " + nfe);
} 
int in = Integer.valueOf(et.getText().toString());
//or
int in2 = new Integer(et.getText().toString());

정규 표현 사용:

String s="your1string2contain3with4number";
int i=Integer.parseInt(s.replaceAll("[\\D]", ""));

출력: i=1234;

첫 번째 번호의 조합이 필요한 경우는, 다음의 코드를 사용해 주세요.

String s="abc123xyz456";
int i=NumberFormat.getInstance().parse(s).intValue();

출력: i=123;

정규 표현 사용:

int i=Integer.parseInt("hello123".replaceAll("[\\D]",""));
int j=Integer.parseInt("123hello".replaceAll("[\\D]",""));
int k=Integer.parseInt("1h2el3lo".replaceAll("[\\D]",""));

출력:

i=123;
j=123;
k=123;

ashish sahu에서 이미 언급한 대로 정규 표현을 사용하는 것이 가장 좋습니다.

public int getInt(String s){
return Integer.parseInt(s.replaceAll("[\\D]", ""));
}

이 코드를 사용해 보세요. 정말 효과가 있어요.

int number = 0;
try {
    number = Integer.parseInt(YourEditTextName.getText().toString());
} catch(NumberFormatException e) {
   System.out.println("parse value is not valid : " + e);
} 

문자열을 int로 변환하는 가장 좋은 방법은 다음과 같습니다.

 EditText et = (EditText) findViewById(R.id.entry1);
 String hello = et.getText().toString();
 int converted=Integer.parseInt(hello);

스트링을 숨겨야 떠다닐 수 있습니다.되고 있어요.

float result = 0;
 if (TextUtils.isEmpty(et.getText().toString()) {
  return;
}

result = Float.parseFloat(et.getText().toString());

tv.setText(result); 

다음 명령을 사용하여 문자열을 정수로 해석할 수 있습니다.

int 값 =Integer.parseInt(textView.getText().toString());

(1) 입력: 12가 되면 동작합니다.왜냐하면 textview는 이 12개의 숫자를 "12" 문자열로 받아들이기 때문입니다.

(2) 입력: "abdul" 그러면 Number라는 예외가 발생합니다.Format Exception(형식 예외)따라서 이 문제를 해결하려면 아래에 언급한 바와 같이 try catch를 사용해야 합니다.

  int tax_amount=20;
  EditText edit=(EditText)findViewById(R.id.editText1);
     try
       {

        int value=Integer.parseInt(edit.getText().toString());
        value=value+tax_amount;
        edit.setText(String.valueOf(value));// to convert integer to string 

       }catch(NumberFormatException ee){
       Log.e(ee.toString());
       }

상세한 것에 대하여는, 다음의 링크를 참조해 주세요.http://developer.android.com/reference/java/lang/Integer.html

1행으로 할 수도 있습니다.

int hello = Integer.parseInt(((Button)findViewById(R.id.button1)).getText().toString().replaceAll("[\\D]", ""));

실행순서 읽기

  1. findViewById(R.id.button1)
  2. ((Button)______)ViewButton
  3. ★★.GetText()을 받다
  4. ★★.toString()
  5. ★★.ReplaceAll()"[\\D]" 이외의 를 " " nothing로
  6. ★★Integer.parseInt()숫자 전용 문자열에서 정수를 가져와서 반환합니다.

The First Way를 변환하는 방법에는 5가지가 있습니다.

String str = " 123" ;
int i = Integer.parse(str); 
output : 123

두 번째 방법:

String str = "hello123world";
int i = Integer.parse(str.replaceAll("[\\D]" , "" ) );
output : 123

제3의 방법:

String str"123";
int i = new Integer(str);
output "123 

네 번째 방법:

String str"123";
int i = Integer.valueOf(Str);
output "123 

다섯 번째 방법:

String str"123";
int i = Integer.decode(str);
output "123 

다른 방법이 있을 수 있지만 지금 기억나는 건 그거야

은 '보다 낫다'를 입니다.decode의 of의 Integer예를 들어 다음과 같습니다.

int helloInt = Integer.decode(hello);

코틀린

다른 원시 유형으로 구문 분석하는 데 사용할 수 있는 확장 메서드가 있습니다.

자바

String num = "10";
Integer.parseInt(num );

언급URL : https://stackoverflow.com/questions/2709253/converting-a-string-to-an-integer-on-android

반응형