decimal decimalVal;
Decimal.TryParse("123-", out decimalVal);
Console.WriteLine(decimalVal); // -123
"123-"文字列がこのように解析されるのはなぜですか?10進数。文字列をパースし、マイナス記号を後ろに付ける
decimal decimalVal;
Decimal.TryParse("123-", out decimalVal);
Console.WriteLine(decimalVal); // -123
"123-"文字列がこのように解析されるのはなぜですか?10進数。文字列をパースし、マイナス記号を後ろに付ける
Decimal.TryParse Methodは、デフォルトではNumberStyles.Numberとの入力を解析します。 NumberStyles.NumberにはNumberStyles.AllowTrailingSignが含まれます。
Decimal.TryParse方法(文字列、10進数)
[...]
パラメータS NumberStyles.Numberスタイルを使用して解釈されます。数
は、[...] AllowLeadingWhite、AllowTrailingWhite、AllowLeadingSign、AllowTrailingSign、AllowDecimalPoint、およびAllowThousandsスタイルが使用されていることを示します。これは複合ナンバースタイルです。AllowTrailingSign 数値文字列に後ろの記号を付けることができることを示します。有効な末尾記号文字は、NumberFormatInfo.PositiveSignプロパティとNumberFormatInfo.NegativeSignプロパティによって決まります。
Decimal.Parse
の受け入れ可能な形式です。 Parse
メソッドへのstyle
オプションは、先頭と末尾の符号を許します。
NumberStyles.Number列挙子がデフォルトで使用されます。
はAllowLeadingWhite、AllowTrailingWhite、AllowLeadingSign、AllowTrailingSign、AllowDecimalPoint、およびAllowThousandsスタイルが使用されていることを示します。これは複合番号スタイルです
http://msdn.microsoft.com/en-us/library/system.globalization.numberstyles.aspx
ありがとうございました! – rpeshkov