আমি ডার্টের সাথে একটি সংখ্যায় একটি স্ট্রিংকে কীভাবে পার্স করব?


117

আমি "1" বা "32.23" এর মতো স্ট্রিংগুলি পূর্ণসংখ্যা এবং ডাবলসে পার্স করতে চাই। আমি ডার্ট দিয়ে এটি কীভাবে করব?


: পৃথক্ উত্তর নীচের থেকে তোমার মত এটা করতে পারেন যদি আপনার স্ট্রিং অক্ষর রয়েছে stackoverflow.com/a/61401948/614026
temirbek

উত্তর:


190

আপনি একটি পূর্ণসংখ্যার সাথে একটি স্ট্রিং পার্স করতে পারেন int.parse()। উদাহরণ স্বরূপ:

var myInt = int.parse('12345');
assert(myInt is int);
print(myInt); // 12345

উপসর্গযুক্ত স্ট্রিং int.parse()গ্রহণ করে তা নোট করুন 0x। অন্যথায় ইনপুটটি বেস -10 হিসাবে বিবেচিত হবে।

আপনি একটি স্ট্রিং দিয়ে ডাবলকে পার্স করতে পারেন double.parse()। উদাহরণ স্বরূপ:

var myDouble = double.parse('123.45');
assert(myDouble is double);
print(myDouble); // 123.45

parse() যদি ইনপুটটিকে বিশ্লেষণ না করতে পারে তবে ফর্ম্যাটএক্সসেপশন নিক্ষেপ করবে।


আপনার পরে কীভাবে অবৈধ অক্ষর রয়েছে এমন স্ট্রিং থেকে কোনও পূর্ণসংখ্যা পার্স করা উচিত? উদাহরণস্বরূপ, "-01: 00", যেখানে আমি -1 পেতে চাই, বা "172 আপেল" যেখানে আমি 172 পাওয়ার আশা করব Java ম্যানুয়ালি চরিত্র অনুসারে চরিত্র পরীক্ষা না করে কি কোনও সহজ উপায় আছে? ধন্যবাদ
ব্যবহারকারী 1596274 14

88

ডার্ট 2 ইন.ট্রি পার্স পাওয়া যায়।

এটি ছোঁড়ার পরিবর্তে অবৈধ ইনপুটগুলির জন্য শূন্য ফেরত দেয়। আপনি এটি এর মতো ব্যবহার করতে পারেন:

int val = int.tryParse(text) ?? defaultValue;

7
 void main(){
  var x = "4";
  int number = int.parse(x);//STRING to INT

  var y = "4.6";
  double doubleNum = double.parse(y);//STRING to DOUBLE

  var z = 55;
  String myStr = z.toString();//INT to STRING
}

int.parse () এবং Double.parse () স্ট্রিংকে বিশ্লেষণ করতে না পারলে একটি ত্রুটি ফেলতে পারে


4
int.parse()এবং double.parse()স্ট্রিংকে বিশ্লেষণ করতে না পারলে একটি ত্রুটি ফেলে দিতে পারে। দয়া করে আপনার উত্তরের বিস্তারিত বর্ণনা করুন যাতে অন্যরা ডার্টটি আরও ভালভাবে শিখতে এবং বুঝতে পারে।
জোছশা

4
আপনাকে জোছশা উল্লেখ করার জন্য আপনাকে ধন্যবাদ, আমি ডার্টে এক পরম সূচনা এবং আমি অন্যকে সাহায্য করার জন্য যথাসাধ্য চেষ্টা করছি, ভাল আমি ভেবেছিলাম এটি সহজ উত্তর হবে, যাইহোক ধন্যবাদ !!
রাজদীপ 12345678910

5

আপনি এর সাথে স্ট্রিং পার্স করতে পারেন int.parse('your string value');

উদাহরণ: - int num = int.parse('110011'); print(num); // prints 110011 ;


4

ডার্ট হিসাবে 2.6

এর al onErrorচ্ছিক পরামিতি হ্রাসint.parse করা হয়েছে । সুতরাং, আপনি int.tryParseপরিবর্তে ব্যবহার করা উচিত ।

দ্রষ্টব্য : একই প্রযোজ্য double.parse। সুতরাং, double.tryParseপরিবর্তে ব্যবহার করুন।

  /**
   * ...
   *
   * The [onError] parameter is deprecated and will be removed.
   * Instead of `int.parse(string, onError: (string) => ...)`,
   * you should use `int.tryParse(string) ?? (...)`.
   *
   * ...
   */
  external static int parse(String source, {int radix, @deprecated int onError(String source)});

পার্থক্যটি হ'ল উত্সের স্ট্রিংটি অবৈধ থাকলে int.tryParseফিরে আসে null

  /**
   * Parse [source] as a, possibly signed, integer literal and return its value.
   *
   * Like [parse] except that this function returns `null` where a
   * similar call to [parse] would throw a [FormatException],
   * and the [source] must still not be `null`.
   */
  external static int tryParse(String source, {int radix});

সুতরাং, আপনার ক্ষেত্রে এটির মতো দেখতে হবে:

// Valid source value
int parsedValue1 = int.tryParse('12345');
print(parsedValue1); // 12345

// Error handling
int parsedValue2 = int.tryParse('');
if (parsedValue2 == null) {
  print(parsedValue2); // null
  //
  // handle the error here ...
  //
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.