如何在具有2个小数点的浮点值范围内选择1个小数点的浮点值

时间:2019-07-16 12:12:03

标签: python

说我有一个从0.180.22的浮点值,范围为[0.18, 0.19, 0.20, 0.21, 0.22],我想设计一种选择0.20的方式(浮点值在0它的最后一个小数位,如何在该范围或任何其他范围内进行?

3 个答案:

答案 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) == aif 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])