计算更多除法的19位数字

calculating more the 19 digits of division

我想制作一个 python 程序,将 python 中的 '1/7' 相除 但是 我得到的只是: 0.14285714285714285 .如何计算小数点后的更多位数?

您应该使用 decimal 数据类型而不是 float。它在标准库中。

decimal docs 的顶部有一个指定精度的 1/7 示例。

十进制库允许您指定任意精度。页面 here 上有一个示例。否则你可以编写自己的代码来计算数字。

def div(a,b,n):
    """return [w,d1,d2,...dn] where a/b=w.d1d2...dn

    Examples
    ========

    >>> div(1,7,10)
    [0, 1, 4, 2, 8, 5, 7, 1, 4, 2, 8]
    >>> div(10,7,4)
    [1, 4, 2, 8, 5]
    """
    w, r = divmod(a, b)
    rv = [w]
    for i in range(n):
        w, r = divmod(r*10,b)
        rv.append(w)
    return rv