اس ٹیوٹوریل میں، ہم جاوا سٹرنگ کو ڈبل ڈیٹا ٹائپ میں تبدیل کرنے کا طریقہ جانیں گے:

ہم سٹرنگ کو ڈبل میں تبدیل کرنے کے لیے درج ذیل طریقے استعمال کرنا سیکھیں گے۔ جاوا میں قدر:

  • Double.parseDouble(String)
  • Double.valueOf(String)
  • Decimal Format parse()
  • new Double(String s)

جاوا سٹرنگ کو ڈبل کرنے کے طریقے

ایسے کچھ منظرنامے ہیں جہاں، ہمارے جاوا پروگرام میں ہمیں عددی قدر پر کچھ قسم کے ریاضی کے آپریشن کرنے ہوتے ہیں جیسے بل کا حساب لگانا، جمع کی رقم پر سود کا حساب لگانا وغیرہ۔ لیکن اس پروگرام کے لیے ان پٹ دستیاب ہے۔ ٹیکسٹ فارمیٹ میں یعنی جاوا اسٹرنگ ڈیٹا کی قسم ۔

مثال کے طور پر، گروسری بلوں کا حساب لگانے کے لیے – پروڈکٹ کی قیمت اور خریدی گئی یونٹس کی تعداد ان پٹ کے طور پر آرہی ہے۔ کسی ویب پیج کے ٹیکسٹ فیلڈ یا کسی ویب پیج کے ٹیکسٹ ایریا سے ٹیکسٹ فارمیٹ میں جاوا سٹرنگ ڈیٹا ٹائپ۔ ایسے حالات میں، ہمیں پہلے اس سٹرنگ کو جاوا پرائمیٹو ڈیٹا ٹائپ ڈبل میں نمبروں کو بازیافت کرنے کے لیے تبدیل کرنا ہوگا۔

آئیے ایک ایک کرکے مختلف طریقوں کو تفصیل سے دیکھتے ہیں۔

#1) Double.parseDouble() طریقہ

parseDouble() طریقہ ڈبل کلاس کے ذریعہ فراہم کیا گیا ہے۔ ڈبل کلاس کو ریپر کلاس کہا جاتا ہے کیونکہ یہ پرائمیٹو ٹائپ ڈبل کی قدر کو کسی شے میں لپیٹ دیتا ہے۔

آئیے طریقہ دستخط پر ایک نظر ڈالتے ہیں۔ذیل میں:

public static double parseDouble(String str) NumberFormatException پھینکتا ہے

یہ کلاس ڈبل پر ایک جامد طریقہ ہے جو ڈبل ڈیٹا کی قسم کو لوٹاتا ہے مخصوص سٹرنگ۔

یہاں، 'str' پیرامیٹر ایک سٹرنگ ہے جس میں دوہری قدر کی نمائندگی ہوتی ہے جس کو پارس کیا جاتا ہے اور دلیل کے ذریعہ پیش کی گئی دہری قدر کو لوٹاتا ہے۔

یہ طریقہ استثنیٰ NumberFormatException پھینکتا ہے جب اسٹرنگ میں قابل تجزیہ ڈبل نہیں ہوتا ہے۔

مثال کے طور پر، آئیے ایک منظر نامے پر غور کریں جب ہم وصول کرنے کے بعد قیمت کا حساب لگانا چاہتے ہیں۔ آئٹمز کی اصل قیمت پر رعایت۔

اس کے لیے، آئٹم کی اصل قیمت اور ڈسکاؤنٹ جیسی ان پٹ ویلیوز آپ کے بلنگ سسٹم سے ٹیکسٹ کے طور پر آرہی ہیں اور ہم ان اقدار پر ریاضی کا عمل کرنا چاہتے ہیں۔ اصل قیمت سے رعایت کو کم کرنے کے بعد نئی قیمت کا حساب لگانے کے لیے۔

آئیے دیکھتے ہیں کہ درج ذیل نمونہ کوڈ میں اسٹرنگ ویلیو کو دوگنا کرنے کے لیے Double.parseDouble() طریقہ استعمال کرنے کا طریقہ:

package com.softwaretestinghelp; /** * This class demonstrates sample code to convert string to double java program * using Double.parseDouble() method * * @author * */ public class StringToDoubleDemo1 { public static void main(String[] args) { // Assign "500.00" to String variable originalPriceStr String originalPriceStr = "50.00D"; // Assign "30" to String variable originalPriceStr String discountStr = "+30.0005d"; System.out.println("originalPriceStr :"+originalPriceStr); System.out.println("discountStr :"+discountStr); // Pass originalPriceStr i.e. String “50.00D” as a parameter to parseDouble() // to convert string 'originalPriceStr' value to double // and assign it to double variable originalPrice double originalPrice = Double.parseDouble(originalPriceStr); // Pass discountStr i.e. String “30.005d” as a parameter to parseDouble() // to convert string 'discountStr' value to double // and assign it to double variable discount double discount = Double.parseDouble(discountStr); System.out.println("Welcome, our original price is : $"+originalPrice+""); System.out.println("We are offering discount :"+discount+"%"); //Calculate new price after discount double newPrice = originalPrice - ((originalPrice*discount)/100); //Print new price after getting discount on the console System.out.println("Enjoy new attractive price after discount: $"+newPrice+""); } } 

یہاں پروگرام آؤٹ پٹ ہے:

اصلی قیمت:50.00D

ڈسکاؤنٹسٹر :+30.0005d

خوش آمدید، ہماری اصل قیمت ہے : $50.0

ہم ڈسکاؤنٹ پیش کررہے ہیں :30.0005%

رعایت کے بعد نئی پرکشش قیمت کا لطف اٹھائیں : $34.99975

یہاں، اسٹرنگ "50.00D" ہے جس میں D اسٹرنگ کو بطور اشارہ کرتا ہے۔ ایک ڈبل قدر۔

String originalPriceStr = "50.00D";

یہ اصل قیمت یعنی "50.00D" ہےparseDouble() طریقہ کو پیرامیٹر کے طور پر پاس کیا جاتا ہے اور ویلیو کو ڈبل متغیر اصل قیمت کو تفویض کیا جاتا ہے۔

double originalPrice = Double.parseDouble(originalPriceStr);

parseDouble() طریقہ String ویلیو کو دوگنا میں تبدیل کرتا ہے اور "+" یا "-" اور 'D'،' کو ہٹاتا ہے۔ d'.

لہذا، جب ہم کنسول پر اصل قیمت پرنٹ کریں گے:

System.out.println("Welcome, our original price is : $"+originalPrice+"");

مندرجہ ذیل آؤٹ پٹ کنسول پر ظاہر ہوگا:

خوش آمدید، ہماری اصل قیمت ہے: $50.0

اسی طرح، String discountStr = "+30.0005d" کے لیے؛ سٹرنگ "+30.0005d" کو parseDouble() طریقہ استعمال کرتے ہوئے ڈبل میں تبدیل کیا جا سکتا ہے جیسا کہ:

double discount = Double.parseDouble(discountStr);

لہذا، جب ہم کنسول پر ڈسکاؤنٹ پرنٹ کرتے ہیں۔

System.out.println("We are offering discount :"+discount+"%");

مندرجہ ذیل آؤٹ پٹ پر ظاہر ہوگا۔ کنسول:

We are offering discount :30.0005%

مزید برآں، پروگرام میں ان عددی اقدار پر ریاضی کی کارروائیاں کی جاتی ہیں۔

#2) Double.valueOf() طریقہ

valueOf() طریقہ فراہم کیا گیا ہے۔ ریپر کلاس ڈبل کے ذریعے۔

آئیے ذیل میں طریقہ کار کے دستخط پر ایک نظر ڈالیں:

عوامی جامد ڈبل ویلیو آف(اسٹرنگ سٹر) نمبر فارمیٹ ایکسپشن

یہ جامد طریقہ ڈیٹا کی قسم کی آبجیکٹ کو لوٹاتا ہے جس میں ڈبل ویلیو ہوتی ہے جس کی نمائندگی مخصوص String str سے ہوتی ہے۔

یہاں، 'str' پیرامیٹر ایک String ہے جس میں دوہری نمائندگی ہوتی ہے۔ تجزیہ کیا جائے اور اعشاریہ میں دلیل کے ذریعہ پیش کی جانے والی دہری قدر واپس کرتا ہے۔

یہ طریقہ ایک استثناء NumberFormatException پھینکتا ہے جب اسٹرنگ میں عددی قدر نہیں ہوتی ہےتجزیہ کیا گیا پروگرام آؤٹ پٹ:

depositAmountStr :1000.0000d

interestRateStr :+5.00D

yearsStr :2

ABC بینک میں خوش آمدید۔ جمع کرانے کا شکریہ: ہمارے بینک میں $1000.0

ہمارا بینک 1 سال کے لیے پرکشش شرح سود پیش کر رہا ہے: 5.0%

2.0 کے بعد آپ کو کل سود ملے گا $100.0

یہاں، ہم String متغیرات کو قدریں تفویض کر رہے ہیں:

String depositAmountStr = "1000.0000d"; String interestRateStr = "+5.00D"; String yearsStr = "2"; 

ان اقدار کو ڈبل میں تبدیل کرنے کے لیے ویلیو آف() طریقہ استعمال کریں جیسا کہ ذیل میں دکھایا گیا ہے۔

Double depositAmount = Double.valueOf(depositAmountStr);

ہم استعمال کرتے ہیں مزید ریاضی کے حساب کتاب کے لیے وہی اقدار جیسے:

Double interestEarned = ((depositAmount*interestRate*years)/100);

#3) DecimalFormat پارس () طریقہ

اس کے لیے، ہم پہلے نمبر فارمیٹ کلاس مثال کو بازیافت کرتے ہیں اور parse() طریقہ استعمال کرتے ہیں۔ نمبر فارمیٹ کلاس کا۔

آئیے ذیل میں طریقہ کار کے دستخط پر ایک نظر ڈالیں:

عوامی نمبر پارس(اسٹرنگ str) پارس ایکسیپشن کو پھینک دیتا ہے

یہ طریقہ مخصوص متن کو پارس کرتا ہے۔ یہ ابتدائی پوزیشن سے سٹرنگ کا استعمال کرتا ہے اور نمبر لوٹاتا ہے۔

یہ طریقہ ایک استثناء ParseException پھینکتا ہے اگر اسٹرنگ کا آغاز قابل تجزیہ میں نہیں ہے۔

آئیے ذیل میں نمونہ پروگرام دیکھیں۔ یہ نمونہ کوڈ parse() طریقہ استعمال کرتے ہوئے فارمیٹ شدہ ٹیکسٹ سٹرنگ کو پارس کرتا ہے:

package com.softwaretestinghelp; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.ParseException; /** * This class demonstrates sample code to convert string to double java program * using DecimalFormat parse () method * * @author * */ public class StringToDoubleDemo3 { public static void main(String [] args) throws ParseException { // Assign "5,000,00.00" to String variable pointsString String pointsString = "5,000,00.00"; System.out.println("pointsString :"+pointsString); // Pass pointsString i.e. String “+5,000,00.00” as a parameter to // DecimalFormat.getNumberInstance(). parse() method // to convert string pointsString value to double // and assign it to double variable points NumberFormat num = DecimalFormat.getNumberInstance(); Number pointsNum = num.parse(pointsString); double points = pointsNum.doubleValue(); System.out.println("Congratulations ! You have earned :"+points+" points!"); } } 

یہاں پروگرام آؤٹ پٹ ہے:

پوائنٹس سٹرنگ:5,000,00.00

مبارک ہو! آپ نے حاصل کیے ہیں :500000.0 پوائنٹس!

یہاں، فارمیٹ شدہ ٹیکسٹ اسٹرنگ متغیر کو اس طرح تفویض کیا گیا ہے:

String pointsString = "5,000,00.00";

یہ فارمیٹ شدہ ٹیکسٹ "5,000,00.00" پاس ہو گیا ہے۔ num.parse() طریقہ کی دلیل کے طور پر۔

اس سے پہلے کہ نمبر فارمیٹ کلاس مثال ڈیسیمل فارمیٹ کا استعمال کرتے ہوئے بنائی جائے۔ getNumberInstance () طریقہ۔

DecimalFormat.getNumberInstance() method. NumberFormat num = DecimalFormat.getNumberInstance(); Number pointsNum = num.parse(pointsString);

لہذا، ڈبل جیسا کہ ذیل میں دکھایا گیا ہے ڈبل ویلیو () طریقہ کو استعمال کرکے ویلیو حاصل کی جاتی ہے۔

double points = pointsNum.doubleValue();

#4) نیا ڈبل ​​() کنسٹرکٹر

جاوا اسٹرنگ کو ڈبل میں تبدیل کرنے کا ایک اور طریقہ ڈبل کلاس کنسٹرکٹر کا استعمال کرنا ہے۔ String str)

public Double(String str) NumberFormatException تھرو کرتا ہے

یہ کنسٹرکٹر ایک ڈبل آبجیکٹ بناتا ہے اور واپس کرتا ہے جس کی ڈبل قسم کی ویلیو اسٹرنگ کے ذریعہ بیان کی جاتی ہے۔3

str ڈبل میں تبدیل کرنے کے لیے ایک سٹرنگ ہے

یہ طریقہ ایک استثنا دیتا ہے جسے NumberFormatException کہا جاتا ہے اگر اسٹرنگ میں قابل تجزیہ عددی قدر نہیں ہے۔

آئیے یہ سمجھنے کی کوشش کرتے ہیں کہ اس ڈبل (اسٹرنگ سٹر) کنسٹرکٹر کو درج ذیل نمونہ پروگرام کی مدد سے کیسے استعمال کیا جائے جو دائرے کے رقبے کو رداس کو پہلے سٹرنگ سے ڈبل میں تبدیل کر کے حساب کرتا ہے۔

package com.softwaretestinghelp; /** * This class demonstrates sample code to convert string to double java program * using new Double(String str) constructor * * @author * */ public class StringToDoubleDemo4 { public static void main(String[] args) { // Assign "+15.0005d" to String variable radiusStr String radiusStr = "+15.0005d"; System.out.println("radiusStr :"+radiusStr); // Pass radiusStr i.e.String “+15.0005d” as a parameter to new Double() // to convert string radiusStr value to double // and assign it to double variable radius double radius = newDouble(radiusStr).doubleValue(); System.out.println("Radius of circle :"+radius+" cm"); //Calculate area of circle double area = (3.14*(radius*radius)); System.out.println("Area of circle :"+area+" cm"); } }

یہاں پروگرام آؤٹ پٹ ہے:

radiusStr :+15.0005d

دائرہ کا رداس: 15.0005 cm

دائرے کا رقبہ :706.5471007850001 cm

مندرجہ بالا پروگرام میں دائرے کی رداس قدر کو تفویض کیا گیا ہے۔سٹرنگ متغیر:

String radiusStr = "+15.0005d";

سرکل کے رقبے کا حساب لگانے کے لیے، Radius کو Double() کنسٹرکٹر کا استعمال کرتے ہوئے ڈبل ویلیو میں تبدیل کیا جاتا ہے جو ڈبل ڈیٹا ٹائپ ویلیو دیتا ہے۔ پھر doubleValue() طریقہ استعمال کیا جاتا ہے تاکہ پرائمیٹو ڈیٹ ٹائپ ڈبل کی قدر کو حاصل کیا جا سکے جیسا کہ ذیل میں دکھایا گیا ہے۔

double radius = new Double (radiusStr).doubleValue();

نوٹ: Double(String str) کنسٹرکٹر جاوا 9.0 سے فرسودہ ہے۔ یہی وجہ ہے جس کی وجہ سے مندرجہ بالا بیان میں ڈبل نے اسٹرائیک تھرو کیا ہے۔

لہذا، اب اس طریقے کو کم ترجیح دی جاتی ہے۔ اس طرح، ہم نے جاوا اسٹرنگ کو ڈبل جاوا پرائمیٹو ڈیٹا ٹائپ میں تبدیل کرنے کے تمام طریقوں کا احاطہ کیا ہے۔

آئیے اسٹرنگ ٹو ڈبل کنورژن کے طریقہ کار کے بارے میں اکثر پوچھے جانے والے کچھ سوالات پر ایک نظر ڈالتے ہیں۔3

اکثر پوچھے جانے والے سوالات

س # 1) کیا ہم جاوا میں سٹرنگ کو ڈبل میں تبدیل کر سکتے ہیں؟

جواب: ہاں , جاوا میں، سٹرنگ ٹو ڈبل کنورژن مندرجہ ذیل جاوا کلاس طریقوں کا استعمال کرتے ہوئے کیا جا سکتا ہے:

  • Double.parseDouble(String)
  • Double.valueOf(String)6
  • DecimalFormat parse()
  • new Double(String s)

Q #2) آپ سٹرنگ کو ڈبل میں کیسے تبدیل کرتے ہیں؟

جواب: جاوا سٹرنگ کو ڈبل میں تبدیل کرنے کے لیے مختلف طریقے فراہم کرتا ہے۔

نیچے جاوا کلاس کے طریقے دیے گئے ہیں:

4
  • Double.parseDouble(String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • new Double(Strings)
  • سوال نمبر 3) جاوا میں ڈبل ہے؟

    جواب: ہاں ۔ جاوا عددی قدروں کو ذخیرہ کرنے کے لیے مختلف قدیم ڈیٹا کی قسمیں فراہم کرتا ہے جیسے شارٹ، انٹ، ڈبل وغیرہ۔ ڈبل ایک فلوٹنگ پوائنٹ نمبر کی نمائندگی کرنے کے لیے جاوا پرائمیٹو ڈیٹا کی قسم ہے۔ یہ ڈیٹا ٹائپ 64 بٹ فلوٹنگ پوائنٹ پریزیشن والے اسٹوریج کے لیے 8 بائٹس لیتا ہے۔ یہ ڈیٹا کی قسم اعشاریہ اقدار کی نمائندگی کے لیے ایک عام انتخاب ہے۔

    Q #4) جاوا میں سکینر کیا ہے؟

    جواب: جاوا کسی صارف سے ان پٹ حاصل کرنے کے لیے java.util.Scanner کلاس فراہم کرتا ہے۔ اس کے پاس مختلف ڈیٹا کی اقسام میں ان پٹ حاصل کرنے کے مختلف طریقے ہیں۔ مثال کے طور پر، nextLine() String ڈیٹا کی قسم کی قدر کو پڑھنے کے لیے استعمال کیا جاتا ہے۔ ڈبل ڈیٹا ویلیو کو پڑھنے کے لیے، یہ nextDouble() طریقہ فراہم کرتا ہے۔

    نتیجہ

    اس ٹیوٹوریل میں، ہم نے دیکھا کہ درج ذیل کلاس کا استعمال کرتے ہوئے جاوا میں اسٹرنگ ڈیٹا ٹائپ کو پرائمیٹو ڈیٹا ٹائپ ڈبل میں کیسے تبدیل کیا جاتا ہے۔ سادہ مثالوں کے ساتھ طریقے۔

    • Double.parseDouble(String)
    • Double.valueOf(String)
    • DecimalFormat parse()
    • new ڈبل(سٹرنگز)
    اوپر سکرول کریں