First, convert it before you try to access any SQL - if the user has entered a silly amount, you should tell him instead of continuing.
string s = "1234.56";
double d;
if (double.TryParse(s, out d))
{
...
}
Second, you shouldn't use Parameters.Add - it has been depreciated for a long time, and superseded by AddWithValue.
double d;
if (double.TryParse(obentity.Amount, out d))
{
cmd.Parameters.AddWithValue("@Amount ", d);
...
}
This assumes that obentity.Amount is a string, containing a should-be-a-double value.