ব্লগ

Boring Expenses কীভাবে টাকা সংরক্ষণ করে (আর কেন তা পূর্ণসংখ্যা)

  • ইঞ্জিনিয়ারিং
  • ios
  • swift

এক পয়সা হারানোর একটা ক্লাসিক উপায় এই। প্রায় যেকোনো প্রোগ্রামিং ভাষাকে জিজ্ঞেস করুন 0.1 + 0.2 কত, সে বলবে 0.30000000000000004। এটা ভাষার কোনো বাগ নয় — বাইনারি ফ্লোটিং-পয়েন্ট সংখ্যা এভাবেই কাজ করে। বেশিরভাগ দশমিক ভগ্নাংশ এরা নিখুঁতভাবে প্রকাশ করতে পারে না, তাই ছোট্ট ভুল ঢুকে পড়ে। পদার্থবিজ্ঞানের জন্য ঠিক আছে; টাকার জন্য নয়।

ফিন্যান্স অ্যাপের জন্য “প্রায় ঠিক” ভুল উত্তর। তাই Boring Expenses কোনো পরিমাণ কখনো দশমিক হিসেবে সংরক্ষণই করে না।

সবচেয়ে ছোট একককে পূর্ণসংখ্যা হিসেবে রাখুন

টাকার সফটওয়্যার চিরকাল যে কৌশল ব্যবহার করে এসেছে, তা হলো সবচেয়ে ছোট এককে কাজ করা আর তা পূর্ণসংখ্যা হিসেবে রাখা। $4.20-এর বদলে আপনি রাখেন 420 — সেন্টের সংখ্যা। পূর্ণসংখ্যা নিখুঁত। সারা দিন যোগ, বিয়োগ, মোট করুন — রাউন্ডিংয়ের ধুলো কখনো জমবে না।

Boring Expenses আরও এক ধাপ এগিয়ে পরিমাণগুলো খুব সূক্ষ্ম উপ-এককে রাখে (ভাবুন “প্রতি পূর্ণ এককে ১০ কোটি”), যা মুদ্রা আর ভবিষ্যতের প্রয়োজনের জন্য প্রচুর জায়গা রাখে, অথচ সবকিছু থাকে একটি সাধারণ Int। পর্দায় আপনি যা দেখেন তাতে এবং তা থেকে রূপান্তর ঘটে একেবারে কিনারায় — যখন আপনি পরিমাণ লেখেন, আর যখন আমরা তা দেখানোর জন্য ফরম্যাট করি।

// উদাহরণ, হুবহু কোড নয়:
let display = Decimal(amountInSubunits) / Decimal(subunitsPerUnit)
let text = display.formatted(.currency(code: userCurrency))

এটা আপনার জন্য কেন গুরুত্বপূর্ণ

এটা একটা ছোট, জাঁকজমকহীন সিদ্ধান্ত — ঠিক যেমনটা আমাদের পছন্দ। আপনি কখনো এটা দেখবেন না, আর সেটাই উদ্দেশ্য: সংখ্যাগুলো স্রেফ মিলে যায়।