Mengkonversi string ke integer pada Android

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.

Mengomentari pertanyaan (1)
Larutan

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);
} 
Komentar (2)
int in = Integer.valueOf(et.getText().toString());
//or
int in2 = new Integer(et.getText().toString());
Komentar (0)

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;

Komentar (0)

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;
Komentar (1)

Penggunaan regular expression adalah cara terbaik untuk melakukan hal ini sebagaimana telah disebutkan oleh ashish sahu

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

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);
} 
Komentar (0)

Cara terbaik untuk mengkonversi string ke int adalah :

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

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

Komentar (0)

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); 
Komentar (0)

Anda juga dapat melakukannya dengan satu baris:

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

Membaca dari urutan eksekusi

  1. ambil tampilan menggunakan findViewById(R. id.button1)
  2. gunakan ((Tombol)______) melemparkan Melihat sebagai Tombol
  3. Panggilan .GetText() untuk mendapatkan teks yang masuk dari Tombol
  4. Panggilan .toString() untuk mengkonversi Karakter Menyesuaikan ke String
  5. Panggilan .ReplaceAll() dengan "[\\D]" untuk mengganti semua Non Digit Karakter dengan "" (apa-apa)
  6. Panggilan Integer.parseInt() ambil dan kembali integer dari Angka-hanya string.
Komentar (2)

Yang jauh lebih sederhana adalah dengan menggunakan metode decode metode Integer jadi misalnya:

int helloInt = Integer.decode(hello);
Komentar (0)

Kotlin

Ada tersedia metode Ekstensi untuk menguraikannya ke tipe primitif.

Java

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

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

Komentar (1)