【问题标题】:How to Convert a Negative String to Decimal value?如何将负字符串转换为十进制值?
【发布时间】:2016-03-29 07:10:10
【问题描述】:

我试图将像 "-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));

【问题讨论】:

  • NumberStyles.Number | NumberStyles.AllowParentheses
  • 您忘记了一对(前导符号和小数)。只需使用数字 |允许括号。

标签: c#


【解决方案1】:

您缺少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));

【讨论】:

  • 成功了。我不知道我是怎么错过的。非常感谢
  • 附带说明,我在解析 -23.27 时需要 System.Globalization.NumberStyles.AllowDecimalPoint,否则我会遇到异常。
  • 很好,让我添加它。
猜你喜欢
  • 2015-02-06
  • 2012-02-03
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
  • 2016-08-31
  • 2011-08-25
  • 2014-04-28
  • 2020-03-14
相关资源
最近更新 更多