অ্যান্ড্রয়েডে একটি স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর করা


182

আমি কীভাবে একটি স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর করব?

আমার কাছে একটি পাঠ্যবাক্স রয়েছে আমার কাছে ব্যবহারকারী একটি নম্বর প্রবেশ করিয়েছে:

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

এবং মানটি স্ট্রিং-এর জন্য নির্ধারিত হয় hello।

আমি এটি একটি পূর্ণসংখ্যায় রূপান্তর করতে চাই যাতে তারা টাইপ করা নম্বরটি পেতে পারি; এটি কোডে পরে ব্যবহার করা হবে।

EditTextকোনও পূর্ণসংখ্যাটি পাওয়ার কোনও উপায় কি ? যে মধ্যবিত্ত মানুষ এড়ানো হবে। যদি তা না হয় তবে স্ট্রিং থেকে পূর্ণসংখ্যা ঠিক হবে be


উত্তর:


416

পূর্ণসংখ্যা শ্রেণি এবং স্থির 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);
} 

1
নীচে ম্যানুয়েলের উপায় ব্যবহার সম্পর্কে কী? মান ব্যতীত পার্সেন্ট ব্যবহার করা কি আরও সুরক্ষিত?
— গ্যাব্রিয়েল ফেয়ার


26

নিয়মিত অভিব্যক্তি ব্যবহার করুন:

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

আউটপুট: i = 1234;

আপনার যদি প্রথম সংখ্যার সমন্বয় প্রয়োজন হয় তবে আপনার কোডের নীচে চেষ্টা করা উচিত:

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

আউটপুট: i = 123;


13

নিয়মিত অভিব্যক্তি ব্যবহার করুন:

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;

ঠিক আমি খুঁজছেন ছিল কি.
— আহমাদউল্লাহ সৈকত

9

নিয়মিত এক্সপ্রেশন ব্যবহার করাই সর্বোত্তম উপায় এটি ইতিমধ্যে আশিস সাহু দ্বারা উল্লিখিত হিসাবে

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

8

এটি কার্যকরভাবে কাজ করছে এই কোডটি ব্যবহার করে দেখুন।

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

6

আপনার স্ট্রিংকে ইনটে রূপান্তর করার সর্বোত্তম উপায় হ'ল:

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

5

আপনার স্ট্রিংটি ভাসমানের কাছে লুকিয়ে রাখা উচিত। এটা কাজ করছে।

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

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

tv.setText(result); 

5

একটি পূর্ণসংখ্যার সাথে স্ট্রিংকে পার্স করতে আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন:

int value = Integer.parseInt (TextView.getText ()। toString ());

(1) ইনপুট: 12 তারপরে এটি কাজ করবে .. কারণ পাঠ্যদর্শন এই 12 নম্বরটিকে "12" স্ট্রিং হিসাবে নিয়েছে।

(২) ইনপুট: "আবদুল" তারপরে এটি একটি ব্যতিক্রম নিক্ষেপ করবে যা নাম ফরম্যাটএক্সসেপশন। সুতরাং এটির সমাধানের জন্য আমাদের নীচে যেমন উল্লেখ করেছি তেমন চেষ্টা করতে হবে:

  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


4

আপনি এটি এক লাইনেও করতে পারেন:

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]""দিয়ে" (কিছুই না) সব অ অঙ্ক অক্ষর প্রতিস্থাপন করতে
  6. কলটি Integer.parseInt()ধরুন এবং কেবলমাত্র ডিজিটের কেবল স্ট্রিংয়ের মধ্য দিয়ে একটি পূর্ণসংখ্যা ফেরত দিন।

এটি একটি লাইনের জন্য ভয়ঙ্কর কোড (কেবলমাত্র আমার পছন্দ)।
— প্যাট্রিক এম

হ্যাঁ, আমি এটি সেভাবেই করতাম না, এটি ওপি'র "মধ্যবিত্তকে এড়িয়ে যান" মন্তব্যটির পক্ষে আরও একটি প্রসঙ্গ ছিল।
— ব্রেট Moan



2

প্রথম পথে রূপান্তর করার জন্য পাঁচটি উপায় রয়েছে:

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 

অন্যান্য উপায় থাকতে পারে তবে আমি এখন এটি মনে করি


আপনার কোড অংশগুলি কোড হিসাবে চিহ্নিত করুন; উত্তরটি আরও পঠনযোগ্য করে তুলবে!
— মার্কিন উইন্ডল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.