Энэ зааварт бид Java мөрийг давхар өгөгдлийн төрөл болгон хөрвүүлэх талаар мэдэх болно:

Бид мөрийг давхар болгон хөрвүүлэх дараах аргуудыг ашиглаж сурах болно. Java дахь утга:

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

Java мөрийг давхар болгон хөрвүүлэх аргууд

Манай Java программ дээр бид төлбөрийн тооцоо, хадгаламжийн хүүг тооцох гэх мэт тоон утгууд дээр зарим төрлийн арифметик үйлдлүүдийг хийх ёстой зарим хувилбарууд байдаг. Гэхдээ энэ програмын оролт боломжтой. текст форматаар, өөрөөр хэлбэл Java String өгөгдлийн төрөл .

Жишээ нь, хүнсний бүтээгдэхүүний төлбөрийг тооцоолоход – бүтээгдэхүүний үнэ болон худалдан авсан нэгжийн тоо нь оролт болно. вэб хуудасны текст талбар эсвэл вэб хуудасны текстийн талбараас текст формат, тухайлбал Java String өгөгдлийн төрөл. Ийм тохиолдлуудад бид эхлээд Java-ийн анхдагч өгөгдлийн төрөл double -д тоо гаргаж авахын тулд энэ мөрийг хөрвүүлэх хэрэгтэй.

Төрөл бүрийн аргуудыг нэг нэгээр нь нарийвчлан авч үзье.

#1) Double.parseDouble() Метод

parseDouble() аргыг Double ангиар хангадаг. Double анги нь объект доторх команд төрлийн double-ын утгыг ороосон тул Wrapper класс гэж нэрлэгддэг.

Аргын гарын үсгийг харцгаая.доор:

public static double parseDouble(String str) нь NumberFormatException-г шиддэг

Энэ нь Double анги дээрх статик арга бөгөөд дараах байдлаар илэрхийлэгдсэн давхар өгөгдлийн төрлийг буцаана. заасан мөр.

Энд 'str' параметр нь задлан шинжлэх давхар утгын дүрслэлийг агуулсан мөр бөгөөд аргументаар илэрхийлэгдсэн давхар утгыг буцаана.

Энэ нь Уг арга нь Мөрт задлах давхар утга агуулаагүй үед Exception 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+""); } } 

Энэ программ Гаралт:

оригиналPriceStr :50.00D

discountStr :+30.0005d

Тавтай морил, манай анхны үнэ нь : $50.0

Бид хөнгөлөлт санал болгож байна :30.0005%

Хөнгөлөлт дууссаны дараа шинэ сонирхолтой үнийг эдлээрэй : $34.99975

Энд мөр нь "50.00D" бөгөөд D нь тэмдэгт мөрийг дараах байдлаар илэрхийлнэ. давхар утга.

String originalPriceStr = "50.00D";

Энэ анхныPriceStr нь "50.00D"parseDouble() аргад параметр болгон дамжуулж, утга нь originalPrice давхар хувьсагчид оноогдсон.

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() аргыг өгсөн болно. Double ороох классаар.

Доорх аргын гарын үсгийг харцгаая:

public static Double valueOf(String str) шидэх NumberFormatException

Энэ статик арга нь заасан String str-ээр илэрхийлэгдсэн давхар утгатай Double өгөгдлийн төрлийн объектыг буцаана.

Энд 'str' параметр нь давхар дүрслэлийг агуулсан мөр юм. задлан шинжилж, аргументаар илэрхийлэгдэх Double утгыг буцаана.

Энэ арга нь мөр нь тоон утгыг агуулаагүй тохиолдолд NumberFormatException -г үүсгэдэг.задлан шинжилсэн.

Дараах жишээ програмын тусламжтайгаар Double.valueOf() аргыг хэрхэн ашиглахыг ойлгохыг хичээцгээе:

package com.softwaretestinghelp; /** * This class demonstrates sample code to convert string to double java program * using Double.valueOf() method * * @author * */ public class StringToDoubleDemo2 { public static void main(String[] args) { // Assign "1000.0000d" to String variable depositAmountStr String depositAmountStr = "1000.0000d"; // Assign "5.00D" to String variable interestRate String interestRateStr = "+5.00D"; // Assign "2" to String variable yearsStr String yearsStr = "2"; System.out.println("depositAmountStr :"+depositAmountStr); System.out.println("interestRateStr :"+interestRateStr); System.out.println("yearsStr :"+yearsStr); // Pass depositAmountStr i.e.String “1000.0000d” as a parameter to valueOf() // to convert string 'depositAmountStr' value to double // and assign it to double variable depositAmount Double depositAmount = Double.valueOf(depositAmountStr); // Pass interestRateStr i.e.String “5.00D” as a parameter to valueOf() // to convert string 'interestRateStr' value to double // and assign it to double variable discount Double interestRate = Double.valueOf(interestRateStr); // Pass yearsStr i.e.String “2” as a parameter to valueOf() // to convert string 'yearsStr' value to double // and assign it to double variable discount Double years = Double.valueOf(yearsStr); System.out.println("Welcome to ABC Bank. Thanks for depositing : $"+ depositAmount+" with our bank"); System.out.println("Our bank is offering attractive interest rate for 1 year :"+interestRate+"%"); //Calculate interest after 2 years on the deposit amount Double interestEarned = ((depositAmount*interestRate*years)/100); System.out.println("You will be receiving total interest after "+years+" is $"+interestEarned+""); } }

Энд програм Гаралт:

depositAmountStr :1000.0000d

хүүгийнҮндсэнХүн :+5.00D

yearsStr :2

АВС банкинд тавтай морил. Хадгаламж хийсэнд баярлалаа : Манай банкинд $1000.0

Манай банк 1 жилийн хугацаатай сонирхолтой хүү санал болгож байна :5.0%

Та 2.0$100.0$ болсны дараа нийт хүү авах болно

Энд бид String хувьсагчид утгыг оноож байна:

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

Доор үзүүлсэн шиг эдгээр утгыг Double болгон хөрвүүлэхийн тулд valueOf() аргыг ашиглана уу.

Double depositAmount = Double.valueOf(depositAmountStr);

Бид ашигладаг. Цаашдын арифметик тооцооллын ижил утгууд:

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

#3) DecimalFormat Parse () Method

Үүний тулд бид эхлээд NumberFormat ангийн жишээг татаж аваад parse() аргыг ашиглана. NumberFormat ангийн.

Доорх аргын гарын үсгийг харцгаая:

public Number parse(String str) шиддэг ParseException

Энэ арга нь заасан текстийг задлан шинжилдэг. Энэ нь эхлэлийн байрлалаас тэмдэгт мөрийг ашиглаж, тоог буцаана.

Хэрэв мөрийн эхлэл задлан шинжилдэг зүйлд байхгүй бол энэ арга нь Exception 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!"); } } 

Энэ программ Гаралт:

pointsString:5,000,00.00

Баяр хүргэе ! Та :500000.0 оноо цуглууллаа!

Энд форматлагдсан текстийг мөрийн хувьсагчд дараах байдлаар оноов:

String pointsString = "5,000,00.00";

Энэ форматлагдсан "5,000,00.00" текстийг дамжууллаа. num.parse() аргын аргумент болгон.

Үүнээс өмнө NumberFormat ангийн жишээг DecimalFormat. getNumberInstance () аргыг ашиглан үүсгэнэ.

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

Тиймээс давхар. Доор үзүүлсэн шиг doubleValue () аргыг дуудаж утгыг олж авна.

double points = pointsNum.doubleValue();

#4) Шинэ Double() бүтээгч

Java String-г double болгон хөрвүүлэх өөр нэг арга бол Double анги үүсгэгчийг ашиглах явдал юм. String str)

public Double(String str) нь NumberFormatException-г шиддэг

Энэ бүтээгч нь String-ээр илэрхийлэгдсэн double төрлийн утгатай Double объектыг бүтээж буцаана.

str нь Double

Хэрэв Мөрт задлан ялгах тоон утга байхгүй бол энэ арга нь NumberFormatException гэсэн үл хамаарах зүйлийг үүсгэдэг.

Эхлээд радиусыг String-аас давхар болгон хувиргаж тойргийн талбайг тооцдог дараах жишээ программын тусламжтайгаар энэхүү Double (String str) бүтээгчийг хэрхэн ашиглахыг ойлгохыг хичээцгээе.

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 см

Тойргийн талбай:706.5471007850001 см

Дээрх программд тойргийн радиусын утгыг өгсөнМөр хувьсагч:

String radiusStr = "+15.0005d";

Тойргийн талбайг тооцоолохын тулд Double өгөгдлийн төрлийн утгыг буцаадаг Double() бүтээгчийг ашиглан радиусыг давхар утга руу хөрвүүлнэ. Дараа нь доор үзүүлсэн шиг анхдагч огнооны төрлийн double утгыг сэргээхийн тулд doubleValue() аргыг ажиллуулна.

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

Тэмдэглэл: Double(String str) бүтээгч нь Java 9.0-с хойш хуучирсан. Энэ нь Double дээр дээрх мэдэгдэлд зураас зурсан шалтгаан юм.

Тиймээс одоо энэ аргыг илүүд үзэхгүй байна. Тиймээс бид Java String-г давхар Java үндсэн өгөгдлийн төрөл болгон хөрвүүлэх бүх аргуудыг авч үзсэн.

Стрингийг давхар хөрвүүлэх аргын талаар байнга асуудаг асуултуудын заримыг авч үзье.

Түгээмэл асуултууд

Асуулт #1) Бид Java хэл дээр мөрийг давхар болгон хөрвүүлж чадах уу?

Хариулт: Тийм , Java-д String-ийг давхар хөрвүүлэх ажлыг дараах Java ангийн аргуудыг ашиглан хийж болно:

  • Double.parseDouble(String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • шинэ Double(String s)

Асуулт #2) Та мөрийг хэрхэн давхар болгох вэ?

Хариулт: Java нь мөрийг давхар болгох янз бүрийн аргуудыг өгдөг.

Доор өгөгдсөн Java ангийн аргууд:

  • Double.parseDouble(String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • шинэ Double(String s)

Асуулт №3) Java-д double байдаг уу?

Хариулт: Тийм . Java богино, int, double гэх мэт тоон утгыг хадгалахын тулд төрөл бүрийн анхдагч өгөгдлийн төрлөөр хангадаг. double нь хөвөгч цэгийн тоог илэрхийлэх Java-ийн анхдагч өгөгдлийн төрөл юм. Энэ төрлийн өгөгдлийн төрөл нь 64 битийн хөвөгч цэгийн нарийвчлалтай хадгалахад 8 байт зарцуулдаг. Энэ өгөгдлийн төрөл нь аравтын бутархайн утгыг илэрхийлэх нийтлэг сонголт юм.

Асуулт №4) Java хэл дээрх сканнер гэж юу вэ?

Хариулт: Java нь хэрэглэгчээс оролт авахын тулд java.util.Scanner класс өгдөг. Энэ нь янз бүрийн өгөгдлийн төрөлд оролт авах янз бүрийн аргуудтай. Жишээ нь, nextLine() нь String өгөгдлийн төрлийн утгыг уншихад ашиглагддаг. Давхар өгөгдлийн утгыг уншихын тулд энэ нь nextDouble() аргыг өгдөг.

Дүгнэлт

Энэ зааварт бид дараах классыг ашиглан Java хэл дээрх String өгөгдлийн төрлийг анхдагч өгөгдлийн double төрөлд хэрхэн хөрвүүлэхийг үзсэн. энгийн жишээнүүдийн хамт аргууд.

  • Double.parseDouble(String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • шинэ Давхар(Мөр s)
Дээшээ шилжих