Non riesco a venirne a capo

Ti converrebbe cercare di risolvere il problema dei numeri negativi scrivendo un piccolo sketch che contenga soltanto il codice minimo necessario ad analizzare (e comprendere) questo problema.
Metti le routine di conversione e stampa dei risultati, poi fai varie prove.
E posta il codice che stai usando.
A forza di frasi smozzicate e "si ferma" "non va", ecc. non si va da nessuna parte.

IMHO, sia chiaro...