将float,base转换为float的函数

问题描述 投票:1回答:1

尝试创建函数来计算浮点数和浮点数。我们该怎么做?

这就是我所做的

def frac(s, base):
    import math
    exp = range(math.log(s, base), -1, -1)
    for e in exp:
        d = (s // (base ** e))
        s -= d * (base ** e)
        yield d 

尝试瞄准类似的东西

(100.101, base=2) = 4.625
python function base
1个回答
0
投票

我认为最简单的方法是在没有小数点的字符串上使用内置的整数功能,然后将基数除以小数位数。

def frac (s, base):
    dotPos=s.find('.')
    if (dotPos == -1):
        return (int(s, base))
    places = len(s)-dotPos-1
    return (1.0*int(s[:dotPos]+s[dotPos+1:],base)/(base**places))
print frac("100.1",2)
© www.soinside.com 2019 - 2024. All rights reserved.