Ошибка out of range в типе string
Возможно глупый вопрос, но вызовет ли данная конструкция while (j-1>=0 && number[j-1] == '0'), где number типа string ошибку out of range?
Почему бы самому не вставит в try{} catch{} и проверить? Нет, не вызовет.