说我有一个从0.18
到0.22
的浮点值,范围为[0.18, 0.19, 0.20, 0.21, 0.22]
,我想设计一种选择0.20
的方式(浮点值在0它的最后一个小数位,如何在该范围或任何其他范围内进行?
答案 0 :(得分:1)
希望这对您有所帮助。
for num in list:
if num==round(num,1):
print(num)
这里的主要思想是将数字四舍五入到小数点后一位,并检查它是否等于原始数字。
答案 1 :(得分:1)
我建议使用整数转换或舍入而不是使用带浮数除数的模:
例如:
a = 3.5
b = 3.56
int(a*10) == a*10 # True
int(b*10) == b*10 # False
a % 0.1 == 0 # False (should be True)
请注意,round(a,1) == a
或if not a*10%1:
也可以使用。
答案 2 :(得分:0)
0.20或任何以0结尾的数字都可以使用取模运算符(%)找到。所以我会做这样的事情:
import numpy as np
a = np.array([0.18, 0.19, 0.20, 0.21, 0.22])
boolean_mask = (np.array(a) % 0.10) == 0
print(a[boolean_mask])
输出:
np.array([0.20])