python将输入数转换为十进制,python进制转换函数,输入一个整数和进制,输出
有一些函数可以直接用于将Python中的任何十进制整数转换成其他十进制数。详见Python- coding rules,但是没有现成的关于如何转换小数部分的函数。这里,方法如下:
首先,我们来说说代码形成的理论思路:
十进制十进制转换为其他十进制的方法(以二进制为例):将小数点后的数乘以2,在后面标出整数部分(0或1),然后将数乘以2的小数部分乘以2,在后面标出整数部分。依此类推,直到小数部分为0或者有足够的位数。最后将整数部分按顺序排列,得到小数的二进制结果。
#代码如下:
导入数学
从十进制导入十进制
Aa=float(输入(请输入要转换的十进制数:))
#注意,input函数得到的变量是字符串类型,应该通过float()函数转换成浮点数类型。
ly=2
#可调位1:在这里,设置要转换成十进制。
n=10
#可调位2:设置转换后的小数位数(这样设置的原因是有些十进制小数,比如0.7,转换成其他十进制小数,比如二进制,会出现死循环)
m=范围(n)
抄送=[]
对于m中的I:
bb=aa * ly
dd=math.floor(bb)
#math.floor()函数向下舍入(即直接取整数部分);Math.ceil()函数取一个整数向上(即整数部分加1);两个都不圆。
抄送附加
aa=Decimal(str(bb))-Decimal(str(DD))
# Decimal input的参数要求是字符串类型,比如Decimal(1.1) Decimal(2.2 ),所以这里要用str()函数把数据转换成字符串类型。
如果ly 10:
如果cc[i]==10:
cc[i]=A
如果cc[i]==11:
cc[i]=B
如果cc[i]==12:
cc[i]=C
如果cc[i]==13:
cc[I]=D
如果cc[i]==14:
cc[i]=E
如果cc[i]==15:
cc[i]=F
#以上条件语句是在将数据转换为十六进制时添加的,10以上的数字要用字母代替。
ee=[str(i) for i in cc]
ff=“”。加入
#上面两行将列表中的元素连接起来,形成一个字符串,然后输出。
Print(通过“”转换获得的“str(ly)”的小数为:“”0。ff)
注意这里是正数的换算。如果需要转换负数,应该先转换数字的正形式,然后在转换结果前加一个负号。
可能有更简单的方法,欢迎交流讨论。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。