কম্পিউটার টিউটোরিয়াল

JavaScript ফরম্যাট করেন্সি (Intl.NumberFormat)

JavaScript-এ, Intl.NumberFormat() মেথডটি একটি করেন্সি স্পেসিফাই করতে ব্যবহৃত হয় যেটি একটি নম্বর রিপ্রেজেন্ট করবে। মেথডটি একটি কনস্ট্রাক্টর যা এর style প্রপার্টিতে করেন্সি ফরম্যাট করতে ব্যবহার করা যেতে পারে।

এই আর্টিকেলে বর্ণনা করা হয়েছে কীভাবে আমরা Intl.NumberFormat() ব্যবহার করি এই কাজটি অর্জন করতে, সেইসাথে কিছু উদাহরণ কোড দেখানো হয়েছে।

কনস্ট্রাক্টর এবং এর প্যারামিটারগুলো ভাঙা

new Intl.NumberFormat([locales[, options]])

কারণ Intl.NumberFormat() একটি কনস্ট্রাক্টর, এটি JavaScript-এর "new" কীওয়ার্ড দ্বারা প্রসিডেড হবে একটি অবজেক্ট তৈরি করতে যা স্পেশালাইজড নাম্বার ফরম্যাটিং অর্জন করতে পারে।

কনস্ট্রাক্টরটি দুটি অপশনাল প্যারামিটার নেয়, "locales" এবং "options"। Locales ইন্টারনেটের বেস্ট কারেন্ট প্র্যাকটিসেস (BCP) ফর ল্যাঙ্গুয়েজ ট্যাগস, বা বর্তমানে BCP 47 ধারণকারী একটি স্ট্রিং ধারণ করবে। উদাহরণস্বরূপ, আমéricান ইংরেজি চাইলে, আমরা BCP 47 ল্যাঙ্গুয়েজ ট্যাগ "en-US" ব্যবহার করব, ব্রাজিলিয়ান পোর্তুগিজ চাইলে "pt-BR" ব্যবহার করব।

Options-এ ১৭টি প্রপার্টি থাকতে পারে, কিন্তু এই আর্টিকেলে আমরা শুধু তিনটিতে ফোকাস করব। আমরা style-এও ফোকাস করব, যেটি আমরা করেন্সির সাথে ব্যবহার করতে পারি, CurrencyDisplay, এবং CurrencySign।

উদাহরণ কোড

const money = 85000.50 // ব্রাজিলিয়ান রিয়ালের জন্য console.log(new Intl.NumberFormat('pt-BR', {style: 'currency', currency: 'BRL'}).format(money)) // আউটপুট R$85,000.50 // USD-এর জন্য console.log(new Intl.NumberFormat('en-US', {style: 'currency', currency: 'USD'}).format(money)) // আউটপুট $85,000.50 // জাপানি য়েনের জন্য console.log(new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(money)); // আউটপুট ¥85,001

উপরের উদাহরণ কোড থেকে কিছু বিষয় লক্ষ্য করুন: আমরা format() মেথড ব্যবহার করেছি আমাদের money ভেরিয়েবল পাস করার জন্য। আমরা এটি করেছি নতুন অবজেক্টটি তৈরি করার পর, যা আমাদের প্রেফারেন্স অনুযায়ী আমাদের করেন্সি ফরম্যাট করতে ব্যবহৃত হচ্ছে, যেগুলো প্যারামিটার হিসেবে পাস করা হয়েছে।

লক্ষ্য করুন কীভাবে আমরা শুধু করেন্সি সিম্বলই পাইনি, বরং করেন্সিগুলোর সঠিক ফরম্যাটও পাই। জাপানি য়েনের সাথে, এই উদাহরণে পরিবর্তনটি जानবুঝकर রাউন্ড আপ করা হয়েছে কারণ এটি মাইনর ইউনিট্স অবজার্ভ করে না।

CurrencyDisplay এবং CurrencySign

অপশনস প্যারামিটারের অধীনে করেন্সির জন্য আমরা যে দুটি অন্য কমন প্রপার্টি রাখতে পারি সেগুলো হল CurrencyDisplay এবং CurrencySign।

CurrencyDisplay করেন্সিকে ভিন্ন ফরম্যাটে ডিসপ্লে করবে symbol, narrowSymbol, code, এবং name ভ্যালুগুলো ব্যবহার করে।

let money = 85000.50; const symbol = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', currencyDisplay: 'symbol' }).format(money); const narrowSymbol = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', currencyDisplay: 'narrowSymbol' }).format(money); const code = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', currencyDisplay: 'code' }).format(money); const name = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', currencyDisplay: 'name' }).format(money); console.log(symbol) // $85,000.50 console.log(narrowSymbol) // $85,000.50 বরং US$85,000.50 console.log(code) // USD 85,000.50 console.log(name) // 85,000.50 US dollars

CurrencySign একটি নম্বাকে মাইনাস সাইন অ্যাপেন্ড করার বদলে প্যারেনথেসিসে র‍্যাপ করবে। এটি "accounting"-এর সাথে এবং জন্য ব্যবহার হয়, তাই আমাদের অবশ্যই অপশনটি এতে পরিবর্তন করতে হবে কারণ এটি অটোমেটিক্যালি "standard"-এ ডিফল্টেড থাকে।

let money = -8500.50; const accounting = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', currencySign: 'accounting' }).format(money); console.log(accounting) // ($8,500.50)

উপসংহার

Intl.NumberFormat() মেথডটি একটি কনস্ট্রাক্টর যা অন্যান্যের পাশাপাশি, এর style প্রপার্টিতে করেন্সি ফরম্যাট করতে ব্যবহৃত হয়। আমরা এটি format() এর সাথে কনজাকশনে ব্যবহার করতে পারি আমাদের পছন্দ অনুযায়ী করেন্সি ডিসপ্লে করতে।

  1. জাভাস্ক্রিপ্ট প্রোগ্রাম: ২৪ ঘন্টা ফরম্যাট থেকে ১২ ঘন্টা ফরম্যাটে রূপান্তর

  2. JavaScript-এ 'HH:MM:SS' ফরম্যাটকে সেকেন্ডে রূপান্তর

  3. জাভাস্ক্রিপ্টে বৈধ ডেটা ফরম্যাট চেক করা

  4. এক্সেলে নাম্বার ক্যারেন্সি হিসেবে ডিসপ্লে বা ফরম্যাট করার পদ্ধতি