উত্তর:
আপনি ব্যবহার করতে পারেন Double.parseDouble()
একটি রূপান্তর করতে String
একটি থেকে double
:
String text = "12.34"; // example String
double value = Double.parseDouble(text);
আপনার ক্ষেত্রে দেখে মনে হচ্ছে আপনি চান:
double total = Double.parseDouble(jlbTotal.getText());
double price = Double.parseDouble(jlbPrice.getText());
double total = Double.parseDouble(jlbTotal.getText());
double total = Double.parseDouble(jlbTotal.getText().replaceAll("[^0-9.]", ""));
- এটি মূলত এমন সমস্ত অক্ষরকে প্রতিস্থাপন করে যা কোনও সংখ্যা নয় বা .
কিছুই নয়, কেবলমাত্র সংখ্যা এবং দশমিক পয়েন্টকে বিশ্লেষণ করতে ছাড়বে।
Double
আদিম ধরণের double
ব্যবহারের পরিবর্তে শ্রেণির ফলাফল অনুসন্ধান করার সময় Double.valueOf(String)
।
দশমিক মানগুলিতে স্ট্রিংকে পার্স করতে আপনার যদি সমস্যা হয় তবে আপনাকে "," সংখ্যায় "" প্রতিস্থাপন করতে হবে।
String number = "123,321";
double value = Double.parseDouble( number.replace(",",".") );
স্ট্রিংটিকে আবার ডাবলে রূপান্তর করতে, নীচের চেষ্টা করুন
String s = "10.1";
Double d = Double.parseDouble(s);
পার্সডুবল পদ্ধতিটি পছন্দসই প্রভাব অর্জন করবে এবং ডাবলভ্যালুওফ () পদ্ধতিটিও এটি করবে।
double d = Double.parseDouble(aString);
এটি স্ট্রিং এস্ট্রিংকে ডাবল ডিতে রূপান্তর করবে।
ব্যবহার new BigDecimal(string)
। এটি পরে যথাযথ গণনার গ্যারান্টি দেবে।
থাম্বের নিয়ম হিসাবে - সর্বদা BigDecimal
অর্থের মতো সংবেদনশীল গণনার জন্য ব্যবহার করুন ।
উদাহরণ:
String doubleAsString = "23.23";
BigDecimal price = new BigDecimal(doubleAsString);
BigDecimal total = price.plus(anotherPrice);
আপনাকে কেবল ডাবল ব্যবহার করে স্ট্রিংয়ের মানগুলি পার্স করতে হবে
String someValue= "52.23";
Double doubleVal = Double.parseDouble(someValue);
System.out.println(doubleVal);
উপরে রবার্তিয়ানো থেকে উদ্ধৃতি উদ্ধৃত আবার - কারণ এটি এখন পর্যন্ত সবচেয়ে বহুমুখী এবং স্থানীয়করণ অভিযোজিত সংস্করণ। এটি একটি সম্পূর্ণ পোস্টের দাবিদার!
অন্য বিকল্প:
DecimalFormat df = new DecimalFormat();
DecimalFormatSymbols sfs = new DecimalFormatSymbols();
sfs.setDecimalSeparator(',');
df.setDecimalFormatSymbols(sfs);
double d = df.parse(number).doubleValue();
String double_string = "100.215";
Double double = Double.parseDouble(double_string);
আরও একটি উপায় আছে।
Double temp = Double.valueOf(str);
number = temp.doubleValue();
ডাবল একটি শ্রেণি এবং "টেম্প" একটি পরিবর্তনশীল। "সংখ্যা" হ'ল চূড়ান্ত নম্বর যা আপনি সন্ধান করছেন।
এই আমি কি করতে হবে
public static double convertToDouble(String temp){
String a = temp;
//replace all commas if present with no comma
String s = a.replaceAll(",","").trim();
// if there are any empty spaces also take it out.
String f = s.replaceAll(" ", "");
//now convert the string to double
double result = Double.parseDouble(f);
return result; // return the result
}
উদাহরণস্বরূপ আপনি স্ট্রিং "4 55,63। 0" ইনপুট দিলে আউটপুট ডাবল সংখ্যা 45563.0 হবে
Double.parseDouble()
আশেপাশের try/catch
ব্লক ব্যতীত ব্যবহার করা সম্ভাব্য কারণ হতে পারেNumberFormatException
ইনপুট ডবল স্ট্রিং একটি বৈধ বিন্যাস সঙ্গে মানানসই ছিল না।
পেয়ারা এর জন্য একটি ইউটিলিটি পদ্ধতি প্রস্তাব করে যা null
আপনার স্ট্রিংকে বিশ্লেষণ করা যায় না এমন ক্ষেত্রে ফিরে আসে ।
Double valueDouble = Doubles.tryParse(aPotentiallyCorruptedDoubleString);
রানটাইমের সময়, একটি বিকৃত স্ট্রিং ইনপুট ফলন null
বরাদ্দ করা হয়valueDouble
কোনও স্ট্রিং নম্বরকে দ্বিগুণ রূপান্তর করতে এটি ব্যবহার করুন যখন আপনার প্রয়োজন কেবল ডাটা টাইপটিকে নাম্বার এবং num2 থেকে ইনটে রূপান্তর করুন; ইঞ্জিনের সাথে যে কোনও স্ট্রিংয়ের দ্বিগুণ জন্য সমস্ত মামলা নিয়েছে: "বদর কান্দেল"
public static double str2doubel(String str) {
double num = 0;
double num2 = 0;
int idForDot = str.indexOf('.');
boolean isNeg = false;
String st;
int start = 0;
int end = str.length();
if (idForDot != -1) {
st = str.substring(0, idForDot);
for (int i = str.length() - 1; i >= idForDot + 1; i--) {
num2 = (num2 + str.charAt(i) - '0') / 10;
}
} else {
st = str;
}
if (st.charAt(0) == '-') {
isNeg = true;
start++;
} else if (st.charAt(0) == '+') {
start++;
}
for (int i = start; i < st.length(); i++) {
if (st.charAt(i) == ',') {
continue;
}
num *= 10;
num += st.charAt(i) - '0';
}
num = num + num2;
if (isNeg) {
num = -1 * num;
}
return num;
}
String s = "12.34";
double num = Double.valueOf(s);
আপনি Double.parseDouble () ব্যবহার করতে পারেন;
String num = "10.1";
Double x = Double.parseDouble(num);