如何将否定字符串转换为十进制值?

时间:2016-03-29 07:10:10

标签: c#

我试图将像"-23.27"这样的负字符串转换为小数点值,而问题有时会在括号内得到负值,如"(23.27)"

我已经编写了控制括号的代码并以负格式获取小数点值,但是当使用"-23.27"运行相同的代码时,它返回的输入字符串格式不正确错误。这是我的代码。任何帮助将不胜感激。

decimal ValueN = (decimal.Parse("-23.27", 
                  System.Globalization.NumberStyles.AllowParentheses | 
                  System.Globalization.NumberStyles.AllowLeadingWhite | 
                  System.Globalization.NumberStyles.AllowTrailingWhite | 
                  System.Globalization.NumberStyles.AllowThousands));

1 个答案:

答案 0 :(得分:13)

您错过了AllowLeadingSign标志

decimal ValueN= (decimal.Parse("-23.27",  
                 System.Globalization.NumberStyles.AllowParentheses |  
                 System.Globalization.NumberStyles.AllowLeadingWhite | 
                 System.Globalization.NumberStyles.AllowTrailingWhite | 
                 System.Globalization.NumberStyles.AllowThousands | 
                 System.Globalization.NumberStyles.AllowDecimalPoint |
                 System.Globalization.NumberStyles.AllowLeadingSign));