【问题标题】:trouble with using variables as format precision使用变量作为格式精度的麻烦
【发布时间】:2019-04-28 13:47:21
【问题描述】:

我一直在尝试使用变量作为浮点精度的说明符来尝试限制 pi 显示的小数位数:

num = float(input("What decimal point do you want pi to be displayed to?(Up to 15) "))

print(format(math.pi, '.(num)f'))

当我运行它时,它显示ValueError: Format specifier missing precision

我想知道是否有任何其他方式来编写它,以便我能够使用变量。我很新,这可能是一个非常简单的错误,但我不知道。

感谢您的帮助:D

【问题讨论】:

  • 你可以使用round()

标签: python precision valueerror


【解决方案1】:

您可以将其作为格式参数传递...

num="3"
print("{pi:0.{num}f}".format(pi=22/7.0,num=num))

【讨论】:

    【解决方案2】:

    您可以使用带有.* 的字符串格式化运算符作为格式化选项:

    from math import pi
    print('%.*f' % (5, pi))
    

    这个输出:

    3.14159
    

    【讨论】:

    • 我更喜欢这个技巧,甚至比“推荐的”格式字符串样式还要好:)
    猜你喜欢
    • 1970-01-01
    • 2011-10-12
    • 2011-09-30
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多