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

দশমিক বিন্দুর পরের অঙ্ক গণনা - JavaScript

একটি সংখ্যায় দশমিক বিন্দুর পর কতগুলো অঙ্ক আছে সেটি গণনা করা।

উদাহরণ

1.123456789 → ৯টি অঙ্ক
123456789   → ০টি (ইন্টিজার)

সমাধান

const decimalCount = (num) => {
  const str = String(num);
  
  if (!str.includes('.')) return 0;
  
  // scientific notation হ্যান্ডল (1e-5 → "0.00001")
  if (str.includes('e') || str.includes('E')) {
    return Math.max(0, -Number(str.split('e')[1]) || 
           -Number(str.split('E')[1]));
  }
  
  return str.split('.')[1].length;
};

// আরও রোবাস্ট
const decimalCountRobust = (num) => {
  if (!Number.isFinite(num)) return 0;
  
  const str = num.toString();
  const decimalIndex = str.indexOf('.');
  
  if (decimalIndex === -1) return 0;
  
  // Scientific notation চেক
  const expIndex = str.indexOf('e');
  if (expIndex !== -1) {
    const exp = parseInt(str.slice(expIndex + 1));
    return Math.max(0, str.length - decimalIndex - 1 - exp);
  }
  
  return str.length - decimalIndex - 1;
};

// টেস্ট
console.log(decimalCount(1.123456789));   // 9
console.log(decimalCount(123456789));     // 0
console.log(decimalCount(1.5));           // 1
console.log(decimalCount(1.0));           // 1 ("1.0")
console.log(decimalCount(1e-5));          // 5 (0.00001)

ফ্লোটিং পয়েন্ট প্রিসিশন সতর্কতা

console.log(0.1 + 0.2); // 0.30000000000000004
console.log(decimalCount(0.1 + 0.2)); // 17 (অপ্রত্যাশিত!)

// সমাধান: নির্দিষ্ট প্রিসিশনে রাউন্ড করুন
const decimalCountSafe = (num, precision = 15) => {
  return decimalCount(Number(num.toPrecision(precision)));
};

উৎপাদন

9
0
  1. জাভাস্ক্রিপ্ট const কীওয়ার্ড

  2. জাভাস্ক্রিপ্ট Numbers উদাহরণ

  3. জাভাস্ক্রিপ্টে Const এবং Let এর পার্থক্য

  4. জাভাস্ক্রিপ্টে দশমিক সংখ্যা ভ্যালিডেশন