将浮点小数转换为八进制数的 Python 程序

programmingpythonserver side programming更新于 2025/3/18 19:24:17

八进制数使用 8 位数字,0、1、2、3、4、5、6、7。也称为 8 进制数系统。八进制数中的每个位置代表基数 (8) 的 0 次方。八进制数中的最后一个位置代表基数 (8) 的 x 次方。

十进制数系统的基数为 10,因为它使用从 0 到 9 的 10 位数字。在十进制数系统中,小数点左侧的连续位置代表个位、十位、百位、千位等。

给定一个浮点小数值并输入小数位数,我们的任务是将其转换为八进制形式。假设我们有以下浮点数 -

6.89

首先,我们从浮点值中取出整数部分并将其转换为八进制,然后取出小数部分并将其转换为八进制形式,最后将两者合并。考虑小数位 12。输出将是 -

6.707534121727

通过获取用户输入将浮点数转换为八进制

示例

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

相关文章


有用资源