Python 将浮点十进制转换为八进制数
八进制数使用八个数字,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