in reply to Proper creation of a negative number

You can check the existence of minus sign and then prepend the output if necessary.
$total = sprintf("%s%.2f", @TFCNTL_Tax[$i] =~ /(\-)/ ? $1 : undef, @TF +CNTL_Tax[$i]);