Что если исходное число представить как массив цифр. Затем пройтись по этому массиву , заменив 1, к примеру, на -1. И по все тому же массиву восстановить новое число.
например, 2314

a0 a1 a2 a3
2 3 1 4

-------------

a0 a1 a2 a3
2 3 -1 4

Ответ 234

Если число отрицательное, то достаточно ввести какую-нибудь переменную sign и в конце домножить результат на sign.