文字列を整数に変換する方法
テキストボックスがあります。ユーザーに番号を入力させます。
EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();
そして値は文字列hello
に割り当てられます。
入力した数値を取得できるように、整数に変換したいと思います。後でコードで使用されます。
EditText
を整数にする方法はありますか?それは仲介人をスキップするでしょう。そうでなければ、整数から文字列への変換は問題ありません。
Integerクラスと静的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);
以下を使用して、文字列を整数に解析することができます。
int値= Integer.parseInt(textView.getText()。toString());
(1)12入力:12これでうまくいくでしょう。textviewはこの12の数字を "12"の文字列と見なしています。
(2)入力: "abdul"それからNumberFormatExceptionという例外を投げます。そのため、これを解決するために、以下に述べるように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
Stringをfloatに変換する必要があります。動いています。
float result = 0;
if (TextUtils.isEmpty(et.getText().toString()) {
return;
}
result = Float.parseFloat(et.getText().toString());
tv.setText(result);
1行にすることもできます。
int hello = Integer.parseInt(((Button)findViewById(R.id.button1)).getText().toString().replaceAll("[\\D]", ""));
実行順からの読み方
findViewById(R.id.button1)
を使ってビューをつかみますView
をButton
としてキャストするには((Button)______)
を使用してください。.GetText()
を呼び出します。.toString()
を呼び出して、可変長文字列を文字列に変換します。.ReplaceAll()
を"[\\D]"
とともに呼び出します。Integer.parseInt()
grabを呼び出してDigit-only文字列から整数を返します。もっと簡単な方法はdecode
の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 );
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
第三の方法:
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
他の方法があるかもしれませんしかしそれは私が今覚えているものです