Another possible solution might be this:
Number((-0.2-0.1).toFixed(x))
Where x should be the tolerance in decimals you'd like.
Running this with an x of 16, gives me an output of -0.3.
-0.3 === Number((-0.2-0.1).toFixed(16)) // true, and also with every 0 < x < 16
Let me know.