bash search and replace replaces extra character

You should set the initial assign in single quotation marks because otherwise in the string $1 is interpreted by the shell

in_amt='($12.34)'
amt=${in_amt/$/}
echo $amt      

Or escape the $ sign:

in_amt="(\$12.34)"