Find the inverse of f(x)=x+[x].

Let g(x) be the inverse of f(x). I keep getting

g(x)={ x/2 if x is an integer

g(x)={ x-([x]/2) if x is not an integer

This works for g(f(x))=I(x)

but when I try f(g(x)),

f(g(x))={x if [x] is even and

f(g(x))={x-(1/2) if [x] is odd

Which is not the identity function (clearly)...

Also, I cannot figure out how to find the inverse of

h(x)=x/(1-(x^2)) for -1<x<1

If y is the inverse of h(x), I get (x/y)-xy=1 which reminds me of a circle or hyperbola or something but I cant rearrange it to make a recognizable formula...