Ant*_*rez 101 python floating-point integer rounding
正如标题所示,我想取一个浮点数并将其向下舍入到最接近的整数.但是,如果它不是一个整体,我总是想要舍入变量,无论它与下一个整数的接近程度如何.有没有办法做到这一点?
Mak*_*eli 145
简单
print int(x)
Run Code Online (Sandbox Code Playgroud)
也会奏效.
U2E*_*EF1 70
其中一个应该工作:
import math
math.trunc(1.5)
> 1
math.trunc(-1.5)
> -1
math.floor(1.5)
> 1
math.floor(-1.5)
> -2
Run Code Online (Sandbox Code Playgroud)
Huy*_*y D 33
x//1
Run Code Online (Sandbox Code Playgroud)
//运算符返回除法的最低点.由于除以1不会改变您的数字,这相当于楼层,但不需要导入.注意:
1)这会返回一个浮点
2)这个向-∞舍入
小智 26
要获得浮点结果,只需使用:
round(x-0.5)
Run Code Online (Sandbox Code Playgroud)
它也适用于负数.
很多人说要使用:
int(x)
Run Code Online (Sandbox Code Playgroud)
在大多数情况下都可以,但是有一个小问题。如果OP的结果是:
x = 1.9999999999999999
Run Code Online (Sandbox Code Playgroud)
它会四舍五入
x = 2
Run Code Online (Sandbox Code Playgroud)
9月16日之后,比赛将开始。如果您确定永远不会遇到这样的事情,这不是什么大不了的事情。但这是要牢记的。
小智 6
如果您不想导入数学,可以使用:
int(round(x))
这是一篇文档:
>>> help(round)
Help on built-in function round in module __builtin__:
round(...)
round(number[, ndigits]) -> floating point number
Round a number to a given precision in decimal digits (default 0 digits).
This always returns a floating point number. Precision may be negative.
Run Code Online (Sandbox Code Playgroud)