如何返回带有定义的小数位数的浮点数?

时间:2009-12-13 14:46:44

标签: python floating-point

所以我知道如何打印带有小数位的浮点数。

我的问题是如何返回指定的小数位数?

感谢。

4 个答案:

答案 0 :(得分:6)

您可以使用round()功能

关于它的文档:

round(x[, n])

x舍入为n位数,舍入为偶数的一半。如果省略n,则默认为0.

答案 1 :(得分:4)

为了获得两个小数位,将数字乘以100,将其乘以,然后除以100.

请注意,您将返回的数字实际上不会只有两个小数位,因为除以100在大多数情况下无法在IEEE-754浮点运算中精确表示。它只是一个只有两位小数的数字的最接近的可表示近似值。

答案 2 :(得分:4)

如果您真的想要具有固定精度的浮点数,可以使用decimal模块。这些数字具有用户可更改的精度,您可以按两位小数进行计算。

答案 3 :(得分:2)

浮点数具有无限小数位数。计算机上的物理表示取决于浮点数或双数或其他的表示,并且取决于a)语言b)构造,例如, float,double等.c)编译器实现d)硬件。

现在,鉴于您在特定语言中有浮点数(即实数)的表示,您的问题是如何将其四舍五入或将其截断为特定的位数?

在回复调用中无需执行此操作,因为您可以随后截断/舍入。事实上,您通常不希望在实际打印之前截断,以保持更高的精度。如果您想确保结果在不同的算法/硬件上保持一致,也就是说例外。假设您有一些金融交易软件需要通过不同语言/平台等单位测试。