It's not a glitch.
Most programming languages have difficulties in comparing whether floats are equal.
> format(2015.01-2015,digits=20)
"0.0099999999999909051"
You can use all.equal instead:
> all.equal((2015.01-2015),0.01)
[1] TRUE
For details, you can reference: