Ran*_*lue 39 python math floor python-3.x
我在Python中找到了两种获取底线的方法:
3.1415 // 1
Run Code Online (Sandbox Code Playgroud)
和
import math
math.floor(3.1415)
Run Code Online (Sandbox Code Playgroud)
第一种方法的问题是它返回一个浮点(即3.0).第二种方法感觉笨拙而且太长.
是否有替代解决方案用于在Python中获取地板?
Sve*_*ach 61
只要您的数字是正数,您就可以简单地转换为int向下舍入到下一个整数:
>>> int(3.1415)
3
Run Code Online (Sandbox Code Playgroud)
但是对于负整数,这将会四舍五入.
Mat*_*ock 13
你可以在浮点上调用int()来强制转换到较低的int(不是很明显是地板但更优雅)
int(3.745) #3
Run Code Online (Sandbox Code Playgroud)
或者在楼层结果上调用int.
from math import floor
f1 = 3.1415
f2 = 3.7415
print floor(f1) # 3.0
print int(floor(f1)) # 3
print int(f1) # 3
print int(f2) # 3 (some people may expect 4 here)
print int(floor(f2)) # 3
Run Code Online (Sandbox Code Playgroud)
http://docs.python.org/library/functions.html#int
第二种方法是要走的路,但有一种方法可以缩短它.
from math import floor
floor(3.1415)
Run Code Online (Sandbox Code Playgroud)
请注意,取整并转换为 int 与负数不同。如果您确实希望将下限设置为整数,则应在调用 math.floor() 后将其转换为 int。
>>> int(-0.5)
0
>>> math.floor(-0.5)
-1.0
>>> int(math.floor(-0.5))
-1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71801 次 |
| 最近记录: |