BigDecimal ক্লাসটি Java.math প্যাকেজের একটি গুরুত্বপূর্ণ অংশ, যা high-precision arithmetic এর জন্য ব্যবহৃত হয়। এটি floating-point গণনার সীমাবদ্ধতা এড়িয়ে সঠিক দশমিক মান গণনা করতে ব্যবহৃত হয়, যেমন আর্থিক হিসাব বা যেকোনো সংখ্যার জন্য যেখানে সঠিক দশমিক স্থান প্রয়োজন।
এখানে আমরা BigDecimal ক্লাসের কিছু গুরুত্বপূর্ণ মেথড নিয়ে আলোচনা করব, যেমন add(), subtract(), multiply(), divide(), setScale(), এবং round()। উদাহরণ সহ প্রতিটি মেথডের ব্যবহার এবং তার কার্যকারিতা দেখানো হবে।
1. add(BigDecimal val) Method
add() মেথডটি দুটি BigDecimal অবজেক্টের যোগফল প্রদান করে।
উদাহরণ:
import java.math.BigDecimal;
public class BigDecimalAddExample {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("123.45");
BigDecimal num2 = new BigDecimal("678.90");
BigDecimal sum = num1.add(num2);
System.out.println("Sum: " + sum); // Output: 802.35
}
}
Output:
Sum: 802.35
ব্যাখ্যা: add() মেথড দুটি BigDecimal অবজেক্টের যোগফল প্রদান করে এবং নতুন একটি BigDecimal অবজেক্ট রিটার্ন করে।
2. subtract(BigDecimal val) Method
subtract() মেথডটি দুটি BigDecimal অবজেক্টের বিয়োগফল প্রদান করে।
উদাহরণ:
import java.math.BigDecimal;
public class BigDecimalSubtractExample {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("1000.00");
BigDecimal num2 = new BigDecimal("234.56");
BigDecimal difference = num1.subtract(num2);
System.out.println("Difference: " + difference); // Output: 765.44
}
}
Output:
Difference: 765.44
ব্যাখ্যা: subtract() মেথড দুটি BigDecimal অবজেক্টের বিয়োগফল প্রদান করে এবং একটি নতুন BigDecimal অবজেক্ট রিটার্ন করে।
3. multiply(BigDecimal val) Method
multiply() মেথডটি দুটি BigDecimal অবজেক্টের গুণফল প্রদান করে।
উদাহরণ:
import java.math.BigDecimal;
public class BigDecimalMultiplyExample {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("45.67");
BigDecimal num2 = new BigDecimal("89.12");
BigDecimal product = num1.multiply(num2);
System.out.println("Product: " + product); // Output: 4062.9744
}
}
Output:
Product: 4062.9744
ব্যাখ্যা: multiply() মেথড দুটি BigDecimal অবজেক্টের গুণফল প্রদান করে এবং একটি নতুন BigDecimal অবজেক্ট রিটার্ন করে।
4. divide(BigDecimal val, int scale, RoundingMode roundingMode) Method
divide() মেথডটি দুটি BigDecimal অবজেক্টের ভাগফল প্রদান করে এবং আপনি scale এবং RoundingMode নির্ধারণ করতে পারেন, যা দশমিক স্থান এবং গোলকরণের পদ্ধতি নিয়ন্ত্রণ করে।
উদাহরণ:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalDivideExample {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("100.00");
BigDecimal num2 = new BigDecimal("3.00");
// Divide with scale 2 and rounding mode HALF_UP
BigDecimal quotient = num1.divide(num2, 2, RoundingMode.HALF_UP);
System.out.println("Quotient: " + quotient); // Output: 33.33
}
}
Output:
Quotient: 33.33
ব্যাখ্যা: divide() মেথডটি দুটি BigDecimal অবজেক্টের ভাগফল প্রদান করে, এবং scale এবং roundingMode নির্ধারণ করে, যেমন RoundingMode.HALF_UP বা RoundingMode.DOWN।
5. setScale(int newScale, RoundingMode roundingMode) Method
setScale() মেথডটি BigDecimal এর দশমিক স্থান নির্ধারণ করে এবং RoundingMode প্রয়োগ করে। এটি একটি নতুন BigDecimal অবজেক্ট রিটার্ন করে, যেটি নির্দিষ্ট স্কেলে রাউন্ড করা হয়।
উদাহরণ:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalSetScaleExample {
public static void main(String[] args) {
BigDecimal num = new BigDecimal("123.456789");
// Set scale to 2 decimal places with rounding mode HALF_UP
BigDecimal roundedNum = num.setScale(2, RoundingMode.HALF_UP);
System.out.println("Rounded Number: " + roundedNum); // Output: 123.46
}
}
Output:
Rounded Number: 123.46
ব্যাখ্যা: setScale() মেথডটি দশমিক স্থান নির্ধারণ করে এবং গোলকরণের পদ্ধতি (যেমন RoundingMode.HALF_UP) প্রয়োগ করে।
6. round(MathContext mc) Method
round() মেথডটি MathContext ব্যবহার করে BigDecimal এর মান রাউন্ড করতে ব্যবহৃত হয়। MathContext ক্লাসের মাধ্যমে সঠিকতা এবং গোলকরণের ধরন নির্ধারণ করা হয়।
উদাহরণ:
import java.math.BigDecimal;
import java.math.MathContext;
public class BigDecimalRoundExample {
public static void main(String[] args) {
BigDecimal num = new BigDecimal("123.456789");
// Round to 3 significant digits using MathContext
MathContext mc = new MathContext(3); // 3 significant digits
BigDecimal roundedNum = num.round(mc);
System.out.println("Rounded Number: " + roundedNum); // Output: 123
}
}
Output:
Rounded Number: 123
ব্যাখ্যা: round() মেথডটি MathContext ব্যবহার করে সঠিকতা (precision) নির্ধারণ করে, এবং BigDecimal এর মান রাউন্ড করে।
সারাংশ:
add(): দুটিBigDecimalএর যোগফল প্রদান করে।subtract(): দুটিBigDecimalএর বিয়োগফল প্রদান করে।multiply(): দুটিBigDecimalএর গুণফল প্রদান করে।divide(): দুটিBigDecimalএর ভাগফল প্রদান করে এবং সঠিকতা এবং গোলকরণের পদ্ধতি নির্ধারণ করে।setScale():BigDecimalএর দশমিক স্থান নির্ধারণ করে এবং গোলকরণের পদ্ধতি প্রয়োগ করে।round():MathContextব্যবহার করে সঠিকতা নির্ধারণ এবং গোলকরণের মাধ্যমেBigDecimalএর মান রাউন্ড করে।
এই মেথডগুলি BigDecimal ব্যবহার করে নির্ভুল দশমিক গণনা, অর্থনৈতিক হিসাব, বৈজ্ঞানিক হিসাব, এবং বড় সংখ্যার গাণিতিক কাজগুলো সহজ ও সঠিকভাবে করতে সহায়ক।
Read more