Java Technologies Precision এবং RoundingMode এর ধারণা গাইড ও নোট

304

java.time প্যাকেজ এবং java.math প্যাকেজ উভয়ের মধ্যে Precision এবং RoundingMode সম্পর্কিত বিভিন্ন ধারণা রয়েছে, যেগুলি সময় এবং সংখ্যার সাথে কাজ করার সময় ব্যবহৃত হতে পারে।

এখানে Precision এবং RoundingMode এর বিস্তারিত ধারণা ও তাদের ব্যবহার নিয়ে আলোচনা করা হবে:


1. Precision (সঠিকতা):

Precision হল একটি মানের সঠিকতা বা তার পরিমাণের যথার্থতা। অর্থাৎ, এটি একটি সংখ্যার ডিজিটের সংখ্যা বা ফ্লোটিং পয়েন্টের সঠিকতা নির্দেশ করে। সাধারণত, Precision এর সাথে Decimal Places সম্পর্কিত একটি সম্পর্ক থাকে, যেমন সংখ্যা কতদূর পর্যন্ত সঠিক বা ডেসিমাল পয়েন্ট এর পরে কতটা সঠিক।

java.time প্যাকেজের ক্ষেত্রে, সাধারণত Precision এর ধারণা ঘণ্টা, মিনিট, সেকেন্ড, ন্যানোসেকেন্ড (যতটুকু সঠিকতা প্রয়োজন তার উপর নির্ভর করে) এর জন্য ব্যবহৃত হয়। Instant, LocalDateTime, ZonedDateTime ইত্যাদি ক্লাসে Precision নির্ধারণ করা যায়।

উদাহরণ: Instant এবং Precision:

import java.time.Instant;

public class PrecisionExample {
    public static void main(String[] args) {
        // Get current Instant (with nanosecond precision)
        Instant instant = Instant.now();
        System.out.println("Current Instant: " + instant);
    }
}

আউটপুট:

Current Instant: 2024-12-23T14:35:20.123456789Z

এখানে:

  • Instant.now() একটি নির্দিষ্ট মুহূর্তের মান প্রদান করে, এবং nano precision সহ সময় প্রদর্শন করে (যেমন, nanoseconds পর্যন্ত সঠিকতা)।

2. RoundingMode (রাউন্ডিং মোড):

RoundingMode হল গাণিতিক রাউন্ডিং সম্পর্কিত একটি ধারণা, যা ফ্লোটিং পয়েন্টের সংখ্যা বা ডেসিমাল পয়েন্ট এর পরিমাণ নির্ধারণ করতে ব্যবহৃত হয়। RoundingMode সংজ্ঞায়িত করে কিভাবে একটি সংখ্যাকে একটি নির্দিষ্ট ডিজিট বা পয়েন্টে রাউন্ড করতে হবে।

RoundingMode সাধারণত BigDecimal এর সাথে ব্যবহৃত হয়, যেখানে ডেসিমাল পয়েন্টের সঠিকতা বা Precision এর কারণে গাণিতিক অপারেশন করতে রাউন্ডিং প্রয়োজন হতে পারে। Java তে RoundingMode এর বিভিন্ন ধরন আছে, যেমন:

  • RoundingMode.UP: কাছাকাছি পরবর্তী সংখ্যায় রাউন্ড করে।
  • RoundingMode.DOWN: কাছাকাছি পূর্ববর্তী সংখ্যায় রাউন্ড করে।
  • RoundingMode.CEILING: পরবর্তী পূর্ণসংখ্যায় রাউন্ড করে।
  • RoundingMode.FLOOR: পূর্ববর্তী পূর্ণসংখ্যায় রাউন্ড করে।
  • RoundingMode.HALF_UP: দশমিকের পরে 5 বা তার বেশি হলে উপরের দিকে রাউন্ড করে।
  • RoundingMode.HALF_DOWN: দশমিকের পরে 5 এর কম হলে নিচের দিকে রাউন্ড করে।

উদাহরণ: RoundingMode এর ব্যবহার (BigDecimal):

import java.math.BigDecimal;
import java.math.RoundingMode;

public class RoundingModeExample {
    public static void main(String[] args) {
        // Create a BigDecimal object
        BigDecimal number = new BigDecimal("123.456789");
        
        // Round the number to 2 decimal places using HALF_UP rounding
        BigDecimal roundedNumber = number.setScale(2, RoundingMode.HALF_UP);
        System.out.println("Rounded Number (HALF_UP): " + roundedNumber);
        
        // Round the number to 2 decimal places using FLOOR rounding
        BigDecimal roundedFloor = number.setScale(2, RoundingMode.FLOOR);
        System.out.println("Rounded Number (FLOOR): " + roundedFloor);
        
        // Round the number to 2 decimal places using CEILING rounding
        BigDecimal roundedCeiling = number.setScale(2, RoundingMode.CEILING);
        System.out.println("Rounded Number (CEILING): " + roundedCeiling);
    }
}

আউটপুট:

Rounded Number (HALF_UP): 123.46
Rounded Number (FLOOR): 123.45
Rounded Number (CEILING): 123.46

ব্যাখ্যা:

  • setScale(2, RoundingMode.HALF_UP): সংখ্যাটি দুই দশমিক পর্যন্ত HALF_UP রাউন্ডিং মোডে রাউন্ড করা হয়েছে, অর্থাৎ 5 বা তার বেশি হলে পরবর্তী ডিজিটে রাউন্ড করা হয়েছে।
  • RoundingMode.FLOOR: সংখ্যাটি ফ্লোর পদ্ধতিতে রাউন্ড করা হয়েছে, অর্থাৎ যে ডিজিটে সংখ্যা ছোট হবে সেখানে রাউন্ড করা হয়েছে।
  • RoundingMode.CEILING: সংখ্যাটি সিলিং পদ্ধতিতে রাউন্ড করা হয়েছে, অর্থাৎ যে ডিজিটে সংখ্যা বড় হবে সেখানে রাউন্ড করা হয়েছে।

Java Time প্যাকেজে Precision এবং RoundingMode ব্যবহার:

যদিও java.time প্যাকেজটি মূলত সময় এবং তারিখের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে, তবে কখনো কখনো রাউন্ডিং বা Precision এর সাথে সম্পর্কিত কাজও করা হয়ে থাকে (যেমন Duration, Instant, LocalTime ইত্যাদিতে)।

Precision এবং RoundingMode এর মাধ্যমে আপনি Instant, LocalTime, বা Duration এ যে কোনো সময় বা গণনা সঠিকভাবে পরিচালনা করতে পারেন।


  • Precision হল কোনো মানের সঠিকতা, যা ডেসিমাল প্লেস বা ডিজিটের সংখ্যা নির্দেশ করে।
  • RoundingMode হল সঠিক সঠিকতা নির্ধারণ করার পদ্ধতি, যেখানে রাউন্ডিং ফাংশন বা অপারেশন প্রয়োগ করা হয়।
  • java.math.BigDecimal এবং java.time.Duration এর মাধ্যমে আপনি Precision এবং RoundingMode এর সাহায্যে সময় এবং সংখ্যার অপারেশনগুলি সঠিকভাবে করতে পারবেন।

java.time প্যাকেজের সাথে Precision এবং RoundingMode এর সম্পর্কগুলো সময় এবং তারিখের সাথে কিভাবে কাজ করতে হয়, তা স্পষ্টভাবে জানাতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...