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


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.