我有一个有时值为-0.0的变量,我希望在这种情况下将其值更改为0.0。
问题是,我找不到一个很好的方法来检查它的值是否为-0.0!
我不能使用类似的东西:
if a == -0.0:
a = 0.0
因为a可以有其他值,如False(和False == -0.0)。
我想如果我使用的是,那就行了,但 -0.0是-0.0 是假的!
我的另一个想法是尝试:
if str(a) == '-0.0':
a = 0.0
不幸的是,这也有问题,因为a的值可以是' -0.0',我希望将其保留为字符串。
所以,现在我只能想到:
if not isinstance(a, str) and str(a) == '-0.0':
a = 0.0
考虑到我想做什么,这是非常疯狂的......
有谁知道有更好的方法吗?非常感谢你的帮助! :)
答案 0 :(得分:2)
答案 1 :(得分:1)
if type(a) is float and a == -0.0
答案 2 :(得分:1)
详细说明以前的答案,最简单的方法是:
并且在这种情况下设置为0.0
,我们不关心a是-0.0
还是0.0
,在所有情况下强制0.0
if isinstance(a,float) and not a:
a = 0.0