একটি ফ্লোট দশমিক মান দেওয়া এবং দশমিক স্থান সংখ্যা ইনপুট করা, আমাদের কাজ হল এটিকে অক্টাল আকারে রূপান্তর করা।
প্রথমে, আমরা ফ্লোটিং পয়েন্টের মান থেকে পূর্ণসংখ্যার অংশটি নিই এবং এটিকে অক্টালে রূপান্তর করি তারপর আমরা ভগ্নাংশ নিয়ে এটিকে অক্টাল আকারে রূপান্তর করি এবং শেষে উভয়কে একত্রিত করি।
সুতরাং, প্রথম ধাপ হল পূর্ণসংখ্যার অংশটি নেওয়া এবং সংখ্যাটিকে 8 দ্বারা ভাগ করা এবং অবশিষ্ট অংশটি নোট করা যতক্ষণ না লভ্যাংশ 8 এর কম হয় এবং বাকিগুলিকে একসাথে কপি করুন।
দ্বিতীয় ধাপ হল দশমিক অংশ এবং দশমিক অংশকে 8 দিয়ে গুণ করতে থাকুন যতক্ষণ না আমরা ভগ্নাংশ হিসেবে 0 বাকি না পাই এবং প্রথমবার গুন করার পর একটি অবিচ্ছেদ্য অংশ উল্লেখ করে তারপর আবার নতুন মানের দশমিক অংশটিকে 8 দিয়ে গুণ করি এবং করতে থাকুন। নিখুঁত সংখ্যায় না পৌঁছানো পর্যন্ত এটি।
উদাহরণ কোড
def float_convert_octal(my_number, places = 3): my_whole, my_dec = str(my_number).split(".") my_whole = int(my_whole) my_dec = int (my_dec) res = oct(my_whole).lstrip("0o") + "." for x in range(places): my_whole, my_dec = str((decimal_converter(my_dec)) * 8).split(".") my_dec = int(my_dec) res += my_whole return res def decimal_converter(num): while num > 1: num /= 10 return num n = input("Enter the floating point value : \n") p = int(input("Enter the number of decimal places of the result : \n")) print(float_convert_octal(n, places = p))
আউটপুট
Enter the floating point value : 6.89 Enter the number of decimal places of the result : 12 6.707534121727