কীভাবে বিগডিসিমালকে জাভায় ডাবল রূপান্তর করবেন?


112

কীভাবে আমরা রূপান্তর BigDecimalমধ্যে Doubleজাভা? আমার একটি আবশ্যকতা রয়েছে যেখানে আমাদের যুক্তি হিসাবে ডাবল ব্যবহার করতে হবে তবে আমরা পাচ্ছি BigDecimalতাই আমাকে রূপান্তর করতে BigDecimalহবে Double


10
কেমন হবেnew BigDecimal(2).doubleValue()
ম্যাথিয়াস

6
একটি প্রশ্ন জিজ্ঞাসার আগে সর্বদা ডকুমেন্টেশন পড়ুন । আপনি প্রায়শই দেখতে পাবেন যে আপনার প্রশ্নের উত্তর এসেছে। দেখুন doubleValue()। (ইঙ্গিত: কোনও নির্দিষ্ট শ্রেণীর জন্য ডকুমেন্টেশনগুলি সন্ধান করতে, গুগল গুগল শ্রেণীর নাম অনুসন্ধান করে জাভা অনুসরণ করে। উদাহরণস্বরূপ, এই ডকুমেন্টেশনটি খুঁজতে, আমি "বিগডিসিমেল জাভা" অনুসন্ধান করেছি)
জাস্টিন

1
"আমার একটি আবশ্যকতা রয়েছে যেখানে আমাদের যুক্তি হিসাবে ডাবল ব্যবহার করতে হবে" প্রয়োজনীয়তা পরিবর্তন করুন। BigDecimalআপনি এটিকে শেষ থেকে শেষ অবধি ব্যবহার না করে ব্যবহার করার কোনও অর্থ নেই point এই প্রয়োজনীয়তা নির্ভুলতার সাথে আপস করে; নিয়ন্ত্রক সম্মতিতে আপস করতে পারে; এবং কার্যক্ষম অবহেলা গঠন করতে পারে।
লার্নের মারকুইস

আপনি কেন Doubleএবং না ব্যবহার করছেন double। এটি একটি ক্ষেত্র যা হতে পারে null?
পিটার লরি

@ ইজেপি ব্যবহার করাটি তেমন doubleখারাপ নয়, তবে এটিতে প্রতিনিধিত্বের নির্ভুলতার 15+ সংখ্যা রয়েছে যা বেশিরভাগ প্রোগ্রামের প্রয়োজনের চেয়ে বেশি, তবে আমি সম্মত হই যে আপনি বাগ / জটিলতা যুক্ত হওয়ার সম্ভাবনা বেশি থাকায় কিছু সময় বিগডিসিমাল ব্যবহার করার কোনও অর্থ নেই।
পিটার লরে

উত্তর:


225

doubleValue()একটি বিগডিসিমাল অবজেক্ট থেকে দ্বিগুণ মান পেতে আপনাকে পদ্ধতিটি ব্যবহার করতে হবে।

BigDecimal bd; // the value you get
double d = bd.doubleValue(); // The double you want

হাই, আমি একই ব্যবহার করেছি, তবে সমস্যাটি উভয়ই হ'ল আমার দশমিক আউটপুট 13555261857.79 এবং তার দ্বিগুণে রূপান্তরিত হওয়ার পরে 1.355526185779E10 .. দশমিককে দ্বিগুণ রূপান্তর করার পরে আমি কী একই আউটপুট
পাব

@ ব্যবহারকারী 13926345 - উভয়ই একই মান। প্রথম আউটপুটটি হ'ল মানটির সাধারণ প্রতিনিধিত্ব এবং অন্যটি বৈজ্ঞানিক উপস্থাপনা
সুডোরাহুল

35

আপনি ব্যবহার করে রূপান্তর BigDecimalকরতে পারেন । তবে বিশ্বাস করুন, আপনার যদি মুদ্রার কারসাজি থাকে তবে এটি ব্যবহার করবেন না। এটি সর্বদা সরাসরি বস্তুগুলিতে করা উচিত। এই গণনাগুলিতে যথাযথ ক্ষতি হ'ল মুদ্রা সম্পর্কিত গণনাগুলিতে বড় সময় সমস্যা।double.doubleValue()BigDecimal


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.