如何用 Python 四舍五入到小数点后两位?

新手上路,请多包涵

我在这段代码的输出中得到了很多小数(华氏到摄氏转换器)。

我的代码目前如下所示:

 def main():
    printC(formeln(typeHere()))

def typeHere():
    global Fahrenheit
    try:
        Fahrenheit = int(raw_input("Hi! Enter Fahrenheit value, and get it in Celsius!\n"))
    except ValueError:
        print "\nYour insertion was not a digit!"
        print "We've put your Fahrenheit value to 50!"
        Fahrenheit = 50
    return Fahrenheit

def formeln(c):
    Celsius = (Fahrenheit - 32.00) * 5.00/9.00
    return Celsius

def printC(answer):
    answer = str(answer)
    print "\nYour Celsius value is " + answer + " C.\n"

main()

所以我的问题是,如何让程序将每个答案都舍入到小数点后第二位?

原文由 Dolcens 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 558
2 个回答

您可以使用 round 函数,它的第一个参数是数字,第二个参数是小数点后的精度。

在您的情况下,它将是:

 answer = str(round(answer, 2))

原文由 rolisz 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 str.format()语法显示 answer 小数点后两位(不改变 answer 的基础值):

 def printC(answer):
    print("\nYour Celsius value is {:0.2f}ºC.\n".format(answer))

在哪里:

  • : 介绍 格式规范
  • 0 为数字类型启用符号感知零填充
  • .2精度 设置为 2
  • f 将数字显示为定点数

原文由 johnsyweb 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题