Bagaimana cara mengkonversi string ke integer?
Saya memiliki textbox yang telah saya pengguna memasukkan nomor ke:
EditText et = (EditText) findViewById(R.id.entry1);
String hello = et.getText().toString();
Dan nilai ditetapkan ke string halo
.
Aku ingin mengkonversi ke bilangan bulat jadi saya bisa mendapatkan nomor mereka diketik; itu akan digunakan nanti dalam kode.
Apakah ada cara untuk mendapatkan EditText
untuk bilangan bulat? Yang akan melewati tengah-tengah manusia. Jika tidak, string ke integer akan baik-baik saja.
Lihat bilangan Bulat kelas dan statis parseInt()
metode:
http://developer.android.com/reference/java/lang/Integer.html
Integer.parseInt(et.getText().toString());
Anda akan perlu untuk menangkap NumberFormatException
meskipun dalam kasus masalah sementara parsing, sehingga:
int myNum = 0;
try {
myNum = Integer.parseInt(et.getText().toString());
} catch(NumberFormatException nfe) {
System.out.println("Could not parse " + nfe);
}
Menggunakan ekspresi reguler:
String s="your1string2contain3with4number";
int i=Integer.parseInt(s.replaceAll("[\\D]", ""));
output: i=1234;
Jika anda perlu pertama-nomor kombinasi, maka anda harus mencoba kode di bawah ini:
String s="abc123xyz456";
int i=NumberFormat.getInstance().parse(s).intValue();
output: i=123;
Menggunakan ekspresi reguler:
int i=Integer.parseInt("hello123".replaceAll("[\\D]",""));
int j=Integer.parseInt("123hello".replaceAll("[\\D]",""));
int k=Integer.parseInt("1h2el3lo".replaceAll("[\\D]",""));
output:
i=123;
j=123;
k=123;
Coba kode ini itu's benar-benar bekerja.
int number = 0;
try {
number = Integer.parseInt(YourEditTextName.getText().toString());
} catch(NumberFormatException e) {
System.out.println("parse value is not valid : " + e);
}
Anda dapat menggunakan berikut untuk mengurai string ke integer:
int nilai=Integer.parseInt(textView.getText().toString());
(1) input: 12 maka akan bekerja.. karena textview telah diambil ini nomor 12 sebagai "12" string.
(2) input: "abdul" kemudian ia akan melempar pengecualian yang NumberFormatException. Jadi untuk mengatasi hal ini kita perlu menggunakan mencoba menangkap seperti yang telah saya sebutkan di bawah ini:
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());
}
Anda juga mungkin ingin merujuk ke link berikut untuk informasi lebih lanjut: http://developer.android.com/reference/java/lang/Integer.html
Anda harus rahasia String ke float. Hal ini bekerja.
float result = 0;
if (TextUtils.isEmpty(et.getText().toString()) {
return;
}
result = Float.parseFloat(et.getText().toString());
tv.setText(result);
Anda juga dapat melakukannya dengan satu baris:
int hello = Integer.parseInt(((Button)findViewById(R.id.button1)).getText().toString().replaceAll("[\\D]", ""));
Membaca dari urutan eksekusi
findViewById(R. id.button1)
((Tombol)______)
melemparkan Melihat
sebagai Tombol
.GetText()
untuk mendapatkan teks yang masuk dari Tombol.toString()
untuk mengkonversi Karakter Menyesuaikan ke String.ReplaceAll()
dengan "[\\D]"
untuk mengganti semua Non Digit Karakter dengan "" (apa-apa)Integer.parseInt()
ambil dan kembali integer dari Angka-hanya string.Ada tersedia metode Ekstensi untuk menguraikannya ke tipe primitif.
"10".toInt()
"10".toLong()
"benar".toBoolean()
"10.0".toFloat()
"10.0".toDouble()
"10".toByte()
"10".toShort()
String num = "10";
Integer.parseInt(num );
Ada lima cara untuk mengkonversi Cara Pertama :
String str = " 123" ;
int i = Integer.parse(str);
output : 123
Cara kedua :
String str = "hello123world";
int i = Integer.parse(str.replaceAll("[\\D]" , "" ) );
output : 123
Cara Ketiga :
String str"123";
int i = new Integer(str);
output "123
Cara Keempat :
String str"123";
int i = Integer.valueOf(Str);
output "123
Cara Kelima :
String str"123";
int i = Integer.decode(str);
output "123
Mungkin ada cara lain Tapi yang's apa yang saya ingat sekarang