首页 > 解决方案 > 为什么我的字符串不显示我想要的小数点?

问题描述

我正在尝试制作一个程序,如果我输入度数,它将其转换为弧度,然后使用泰勒理论计算其正弦、余弦和正切。请注意,我不应该调用数学模块。

def sinAns(rad):
    rad=rad
    radPlaceHolder=rad
    counter=0
    numberForFacto=1
    tOld=rad
    tNew=0
    tPlaceHolder=rad
    pr=precision+1
    tDiff=1
    sinAns=0

    while abs(tDiff)>.5*10**(-pr):       
        tOld=tPlaceHolder
        tNew=(-1*tOld*rad*rad)/((numberForFacto+1)*(numberForFacto+2))
        tPlaceHolder=tNew       
        counter+=1
        numberForFacto+=2
        tDiff=abs(tOld)-abs(tNew)
        radPlaceHolder+=tNew
        sinAns=radPlaceHolder
    return sinAns

这就是我计算正弦的代码的样子。

print("{0:}{1:{2}f}".format("sin= ", sinAns(rad), precision))

这是它稍后在程序中打印值的行,我已经将精度默认为 10。但是当我运行程序时,它显示 0.500000 而不是我想要的精度。即使我将精度更改为 2-10 之间的任何其他值,它总是显示 0.500000。

知道如何解决这个问题吗?折腾了一个小时,还是没有头绪。

标签: pythonstring

解决方案


你错过了重点.

print("{0}{1:.{2}f}".format("sin= ", sinAns(rad), precision))
           # ^

推荐阅读