2017-09-13 84 views
-1

首先对不起,如果这个问题已经发布,但我找不到它。在Python中格式化浮点到一定的精度

我刚刚开始使用python并在PyCharm中编码。 做一些练习,不明白为什么我的配方没有正确格式化。

正如你在图片中看到的,我想用'.2f'精度格式化结果(浮点数)。它可以与一些数字一起使用,但是当我输入11或45时,99

数量没有用.2精度格式化。我是新手,但是你可以告诉我光线还是至少指向哪里可以找到蜡烛? (解决方案)

cookie_problem

+2

有问题的代码body _only_,没有图片... –

+0

欢迎来到StackOverflow。请阅读https://stackoverflow.com/help/mcve,然后点击编辑编辑您的问题,以便我们提供帮助。具体而言,您需要在问题主体中包含所有相关信息*,以便如果链接消失,问题仍然有效且有用。它对我们来说也变得更加容易,所以你更有可能得到你需要的帮助!其他有用的链接是:我可以问什么样的问题https://stackoverflow.com/help/on-topic,以及如何问:https://stackoverflow.com/help/how-to-ask。祝一切顺利。 – SherylHohman

+0

如果您的问题得到解答,请_accept_最有帮助的。看看:https://stackoverflow.com/help/accepted-answer然后点击灰色的检查,直到它变成绿色。你只能接受一个,所以选择一个最有帮助的。 –

回答

0

你必须调用格式你做乘法之后。在你的代码只能格式化糖,黄油等价值观,但你应该格式化sugar_calcul等值它显示正确

print('For', cookies, 'You would need the following:') 
print(format(sugar_calcul, '.2f'),': cups of sugar') 
print(format(butter_calcul, '.2f'), ': cups of butter') 
print(format(flour_calcul, '.2f'), ': cups of flour') 
print('Enjoy Your cookies !') 
0

注意几件事。首先,format返回一个字符串:

In [63]: format(11, '.2f') 
Out[63]: '11.00' 

接下来,这个字符串转换为浮动导致被设置为任何蟒蛇希望它是精度。

In [64]: float(format(11, '.2f')) 
Out[64]: 11.0 

在显示,有必要呼吁format。之前这样做是没有意义的,因为在计算过程中值会发生变化。更好的是,使用str.format

print('{:.2f} cups of sugar'.format(sugar_calcul) 
...