NumberFormat ক্লাসের ব্যবহার

Number এবং Currency Formatting - জাভা ইন্টারন্যাশনালাইজেশন (Java Internalization) - Java Technologies

294

Java Internalization (i18n) হল একটি অ্যাপ্লিকেশনের আন্তর্জাতিকization এর প্রক্রিয়া, যা একটি অ্যাপ্লিকেশনকে বিভিন্ন ভাষা ও সংস্কৃতির মধ্যে প্রক্রিয়া করতে সহায়ক। NumberFormat ক্লাসটি Java-তে Localization (l10n) প্রক্রিয়ার একটি গুরুত্বপূর্ণ অংশ, যা বিভিন্ন দেশ বা অঞ্চলের সংস্কৃতিতে সংখ্যার ফরম্যাট এবং তাদের প্যাটার্ন অনুযায়ী number formatting বা parsing করতে ব্যবহৃত হয়।

NumberFormat ক্লাসের ভূমিকা:

NumberFormat একটি অ্যাবস্ট্র্যাক্ট ক্লাস এবং এটি java.text প্যাকেজের অংশ। এই ক্লাসটি number formatting এবং parsing এর জন্য ব্যবহৃত হয়। এর মাধ্যমে আপনি number, currency, percentage ইত্যাদি ফরম্যাট করতে এবং string থেকে number পাস করতে পারবেন। এটি Locale ভিত্তিক কাজ করে, অর্থাৎ দেশের বা অঞ্চলের ভিত্তিতে ডেটা ফরম্যাট পরিবর্তন করবে।


NumberFormat ক্লাসের প্রধান মেথডসমূহ:

মেথডবর্ণনা
getInstance()এই মেথডটি NumberFormat এর সাধারণ ইনস্ট্যান্স তৈরি করে।
getCurrencyInstance()এই মেথডটি currency ফরম্যাটিং এর জন্য NumberFormat এর ইনস্ট্যান্স তৈরি করে।
getPercentInstance()এই মেথডটি percentage ফরম্যাটিং এর জন্য NumberFormat এর ইনস্ট্যান্স তৈরি করে।
format()একটি সংখ্যা বা মানকে নির্দিষ্ট ফরম্যাটে কনভার্ট করে (ফরম্যাটেড স্ট্রিং রিটার্ন করে)।
parse()একটি স্ট্রিংকে Number টাইপে রূপান্তরিত (পার্স) করে।

NumberFormat এর বিভিন্ন ধরনের ইনস্ট্যান্স:

  • getInstance(): এটি সাধারণ NumberFormat তৈরি করতে ব্যবহৃত হয়। এটি সাধারণত সংখ্যা প্রিন্ট করতে ব্যবহৃত হয়।
  • getCurrencyInstance(): এটি একটি Currency ফরম্যাট তৈরী করে যা currency symbol (যেমন $, ) ব্যবহার করে।
  • getPercentInstance(): এটি percentage ফরম্যাট তৈরি করে যা শতাংশের চিহ্ন (%) ব্যবহার করে।

NumberFormat ক্লাসের ব্যবহার উদাহরণ:

1. সাধারণ সংখ্যা ফরম্যাট করা

import java.text.NumberFormat;
import java.util.Locale;

public class NumberFormatExample {
    public static void main(String[] args) {
        // সাধারণ সংখ্যা ফরম্যাট
        NumberFormat numberFormat = NumberFormat.getInstance();
        double number = 1234567.89;
        System.out.println("Formatted number: " + numberFormat.format(number));
    }
}

ব্যাখ্যা:

  • NumberFormat.getInstance() দ্বারা একটি সাধারণ সংখ্যা ফরম্যাটার তৈরি করা হয়েছে, যা বিভিন্ন Locale অনুযায়ী নম্বর ফরম্যাট করবে।
  • numberFormat.format(number) মেথড ব্যবহার করে সংখ্যাটিকে ফরম্যাট করা হয়েছে।

আউটপুট (যদি Locale.ENGLISH ব্যবহার করা হয়):

Formatted number: 1,234,567.89

2. Currency ফরম্যাটিং

import java.text.NumberFormat;
import java.util.Locale;

public class CurrencyFormatExample {
    public static void main(String[] args) {
        // Currency ফরম্যাট
        NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.US);
        double number = 1234567.89;
        System.out.println("Formatted Currency: " + currencyFormat.format(number));
    }
}

ব্যাখ্যা:

  • NumberFormat.getCurrencyInstance(Locale.US) দ্বারা ইউএস ডলারের জন্য currency ফরম্যাটার তৈরি করা হয়েছে।
  • currencyFormat.format(number) মেথড দ্বারা সংখ্যাটি USD ফরম্যাটে রূপান্তরিত করা হয়েছে।

আউটপুট:

Formatted Currency: $1,234,567.89

3. Percentage ফরম্যাটিং

import java.text.NumberFormat;

public class PercentageFormatExample {
    public static void main(String[] args) {
        // Percentage ফরম্যাট
        NumberFormat percentFormat = NumberFormat.getPercentInstance();
        double number = 0.85;  // 85% হিসাবে ফরম্যাট হবে
        System.out.println("Formatted Percentage: " + percentFormat.format(number));
    }
}

ব্যাখ্যা:

  • NumberFormat.getPercentInstance() দ্বারা percentage ফরম্যাটার তৈরি করা হয়েছে।
  • percentFormat.format(number) মেথড দ্বারা সংখ্যা 85% হিসাবে ফরম্যাট করা হয়েছে।

আউটপুট:

Formatted Percentage: 85%

4. Locale এর মাধ্যমে বিভিন্ন ভাষায় ফরম্যাটিং

import java.text.NumberFormat;
import java.util.Locale;

public class LocaleBasedNumberFormatExample {
    public static void main(String[] args) {
        double number = 1234567.89;
        
        // Locale.ENGLISH (US style)
        NumberFormat usFormat = NumberFormat.getInstance(Locale.US);
        System.out.println("US format: " + usFormat.format(number));

        // Locale.GERMANY (German style)
        NumberFormat germanyFormat = NumberFormat.getInstance(Locale.GERMANY);
        System.out.println("Germany format: " + germanyFormat.format(number));
    }
}

ব্যাখ্যা:

  • এখানে Locale.US এবং Locale.GERMANY ব্যবহার করে ইউএস এবং জার্মান স্টাইলের সংখ্যা ফরম্যাট করা হয়েছে।
  • usFormat.format(number) এবং germanyFormat.format(number) মেথড দ্বারা সংখ্যা দুটি ভিন্ন স্টাইলে প্রিন্ট করা হয়েছে।

আউটপুট:

US format: 1,234,567.89
Germany format: 1.234.567,89

NumberFormat এর সুবিধা:

  1. Locale-Sensitive Formatting:
    • NumberFormat ক্লাস বিভিন্ন locale অনুসারে সংখ্যার ফরম্যাট ঠিক করে (যেমন, ইউএস, ইউকে, জার্মানি, ইত্যাদি)।
  2. Currency Formatting:
    • Currency ফরম্যাট করার জন্য currency symbols (যেমন $, , £) ব্যবহার করা যায়।
  3. Percentage Formatting:
    • শতাংশ ডেটা (যেমন 0.85 কে 85% এ রূপান্তর করা) ফরম্যাট করা যায়।
  4. Flexible:
    • NumberFormat সাধারণ সংখ্যা ফরম্যাটিং, currency, এবং percentage সহ আরও অনেক ধরনের number formatting কার্যক্রম সমর্থন করে।
  5. Convenient Methods:
    • format() এবং parse() মেথড দ্বারা সহজে সংখ্যা ফরম্যাট করা এবং parse করা যায়।

NumberFormat এর সীমাবদ্ধতা:

  1. Primitive Types Only:
    • NumberFormat কেবলমাত্র primitive types (যেমন double, float, int) এর জন্য ফরম্যাটিং সমর্থন করে। অন্যান্য complex types বা objects এর জন্য, পৃথক ফরম্যাটার ব্যবহার করতে হবে।
  2. No Support for Custom Formatting:
    • NumberFormat এর মধ্যে কিছু custom formatting সীমাবদ্ধতা থাকতে পারে। যদি আপনি অত্যন্ত নির্দিষ্ট ডেটা ফরম্যাটের প্রয়োজন হয়, তবে আপনাকে DecimalFormat বা MessageFormat ব্যবহার করতে হতে পারে।

  • NumberFormat ক্লাস Java তে সংখ্যার ফরম্যাটিং এবং localization এর জন্য একটি গুরুত্বপূর্ণ ক্লাস।
  • এটি currency, percentage, এবং number ফরম্যাটিং এর জন্য ব্যবহৃত হয় এবং এটি locale-sensitive ফরম্যাটিং সমর্থন করে।
  • NumberFormat আপনার অ্যাপ্লিকেশনে আন্তর্জাতিককরণের (i18n) জন্য গুরুত্বপূর্ণ, বিশেষত যেখানে আপনি বিভিন্ন locale এবং currency সহ কাজ করছেন।
Content added By
Promotion

Are you sure to start over?

Loading...