[mecanim] conditions for float are < or > but no ==

So i use mecanim and i am (Unity - Scripting API: Animator.SetFloat) setting float property speed where 0 means no movement, 1 means full movement and 0.5 means half movement. Those are also the desired states of the property, if player wants run, then the property goes to 1 if he wants to stop it goes to 0, if he wants to walk, then we use 0.5 speed. In mecanim you can only set conditions for float “less” and “greater”. What happens, if the property is exactly in between?

If speed == 0.5 then speed < 0.5 && speed > 0.5 is not true so how do i get true if the float is exactly 0.5 ?

You should never compare two floats for equality. Instead, it sounds like what you want to do is multiply your speed values by 100, say, and then represent them as integer values 0, 50, and 100. It’s safe to have a animator condition that tests whether an integer parameter value equals something exactly.