所以我知道如何打印带有小数位的浮点数。
我的问题是如何返回指定的小数位数?
感谢。
答案 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)硬件。
现在,鉴于您在特定语言中有浮点数(即实数)的表示,您的问题是如何将其四舍五入或将其截断为特定的位数?
在回复调用中无需执行此操作,因为您可以随后截断/舍入。事实上,您通常不希望在实际打印之前截断,以保持更高的精度。如果您想确保结果在不同的算法/硬件上保持一致,也就是说例外。假设您有一些金融交易软件需要通过不同语言/平台等单位测试。