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]", ""));
실행순서 읽기
- 를
findViewById(R.id.button1)
((Button)______)
을View
로Button
- ★★
.GetText()
을 받다 - ★★
.toString()
를 - ★★
.ReplaceAll()
"[\\D]"
이외의 를 " " nothing로 - ★★
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);
코틀린
다른 원시 유형으로 구문 분석하는 데 사용할 수 있는 확장 메서드가 있습니다.
"10".toInt()
"10".toLong()
"true".toBoolean()
"10.0".toFloat()
"10.0".toDouble()
"10".toByte()
"10".toShort()
자바
String num = "10";
Integer.parseInt(num );
언급URL : https://stackoverflow.com/questions/2709253/converting-a-string-to-an-integer-on-android
'programing' 카테고리의 다른 글
pty와 tty는 무슨 뜻입니까? (0) | 2022.08.15 |
---|---|
Vue 2.0 인스턴스가 vue-router 구성 요소에서 내보내는 이벤트를 수신하지 않음 (0) | 2022.08.15 |
REST를 통해 vue-form-generator에 폼 데이터 로드 (0) | 2022.08.15 |
부호가 없는 문자를 문자로 바꿀 수 있나요? (0) | 2022.08.15 |
vuex 작업으로부터 약속을 반환하는 중 (0) | 2022.08.15 |