C# এ মুদ্রার জন্য ব্যবহার করার জন্য সেরা ডেটাটাইপ হল দশমিক। দশমিক টাইপ হল একটি 128-বিট ডেটা টাইপ যা আর্থিক এবং আর্থিক গণনার জন্য উপযুক্ত। দশমিক টাইপ 28-29 উল্লেখযোগ্য সংখ্যা সহ 1.0 * 10^-28 থেকে আনুমানিক 7.9 * 10^28 পর্যন্ত মান উপস্থাপন করতে পারে। একটি দশমিক ভেরিয়েবল আরম্ভ করতে, m বা M.
প্রত্যয় ব্যবহার করুনদশমিক b =2.1m;
নীচের উদাহরণটি দশমিকের সর্বনিম্ন এবং সর্বোচ্চ মান দেখায়।
উদাহরণ
using System; namespace DemoApplication{ public class Program{ public static void Main(){ Console.WriteLine($"Deciaml Min Value: {decimal.MinValue}"); Console.WriteLine($"Deciaml Max Value: {decimal.MaxValue}"); Console.ReadLine(); } } }
আউটপুট
Deciaml Min Value: -79228162514264337593543950335Deciaml Max Value: 79228162514264337593543950335
দশমিকের মানের সসীম সেট ফর্ম (-1)^s * c * 10^-e, যেখানে s চিহ্ন 0 বা 1, সহগ c দেওয়া হয় 0 <=*c* <2^ 96, এবং স্কেল e এমন যে 0 <=e <=28. দশমিক টাইপ স্বাক্ষরিত শূন্য, অসীম বা NaN সমর্থন করে না। একটি দশমিককে 96-বিট পূর্ণসংখ্যা হিসাবে উপস্থাপন করা হয় যা দশের শক্তি দ্বারা স্কেল করা হয়। 1.0m এর কম পরম মান সহ দশমিকের জন্য, মানটি 28 তম দশমিক স্থানের সাথে সঠিক, তবে আর কিছু নয়৷
1.0m এর চেয়ে বেশি বা সমান পরম মান সহ দশমিকের জন্য, মানটি 28 বা 29 সংখ্যার জন্য সঠিক। ফ্লোট এবং ডাবল ডাটা টাইপের বিপরীতে, দশমিক ভগ্নাংশ সংখ্যা যেমন 0.1 দশমিক প্রতিনিধিত্বে হুবহু উপস্থাপন করা যেতে পারে। ফ্লোট এবং দ্বৈত উপস্থাপনাগুলিতে, এই জাতীয় সংখ্যাগুলি প্রায়শই অসীম ভগ্নাংশ হয়, যা এই উপস্থাপনাগুলিকে রাউন্ড-অফ ত্রুটির প্রবণ করে তোলে৷
ফ্লোট এবং ডাবলের চেয়ে দশমিক টাইপ পছন্দ করা হয় কারণ এতে ফ্লোট এবং ডাবল উভয়ের চেয়ে বেশি নির্ভুলতা এবং একটি ছোট পরিসর রয়েছে।
উদাহরণ
আসুন একটি উদাহরণ বিবেচনা করি যেখানে মার্কিন ডলার ভারতীয় রুপিতে রূপান্তরিত হয়।
using System; namespace DemoApplication{ public class Program{ public static void Main(){ decimal usd = 2.5m; Console.WriteLine($"USD: {usd}"); decimal inrOfOneUSD = 75.04m; Console.WriteLine($"INR value of one USD: {inrOfOneUSD}"); decimal inr = usd * inrOfOneUSD; Console.WriteLine($"INR value: {inr}"); Console.ReadLine(); } } }
আউটপুট
উপরের কোডের আউটপুট হল
USD: 2.5 INR value of one USD: 75.04 INR value: 187.600