python3浮点数问题

程序自作聪明,我写的3.10给我变成了3.1导致后面出错,怎么让他不被改变?

if __name__ == '__main__':
    a = 3.10
    print("%.2f" % a)
    print("{:.2f}".format(a))

贴图

你可以自己控制输出格式的,

a = 3.1
print("%.2f" % a)

输出会保留两位小数3.10,其中%f表示输出浮点数,.2表示小数点后留2位。

或者用str的format函数, print("{:.2f}".format(a)),原理一样,f表示输出浮点数,.2表示小数点后留2位。