This might be old news to some but I learned about this today.
On a decimal type which is your dollar amount you typically call theAmount.ToString(āCā) which outputs $1.00, however if you have a negative value this same .ToString(āCā) will output ($1.00)
This actually is the default behavior of .NET when handling negative dollars. If you want to alter this you can change the NumberFormatInfo.CurrencyNegativePattern Property.
CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
var newCulture = new CultureInfo(currentCulture.IetfLanguageTag)
{
NumberFormat =
{
CurrencyNegativePattern = 1 //pattern of -$n
}
};
Thread.CurrentThread.CurrentCulture = newCulture;
Now your .ToString() calls can remain the same but you get your desired display.