OK, it is probably safer/simpler  in the case of `INT_MIN` to use `ostringstream`, convert to `std::string` and change the first char, what do you think?
I would use it in the general case but it seems quite slow ...