decimal decimalVal;
Decimal.TryParse(\"123-\", out decimalVal);
Console.WriteLine(decimalVal); // -123
Why do \"123-\" string parsed this way?
NumberStyles.Number enumerator is used by default:
Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint, and AllowThousands styles are used. This is a composite number style
http://msdn.microsoft.com/en-us/library/system.globalization.numberstyles.aspx