C# 如何解析C中的字符串(末尾带有逗号和符号,即“3246928-”)?

C# 如何解析C中的字符串(末尾带有逗号和符号,即“3246928-”)?,c#,string,parsing,double,C#,String,Parsing,Double,我有一根绳子看起来像 3,246,928- 我想把这个变成C#double 是否有一个预设的格式可以将其解析为负双精度 我试过了 double parsedValue = Double.Parse("3,246,928-"); 和获取异常“输入字符串的格式不正确。” 有没有一种方法可以做到这一点,而无需手动检查结尾处的负号、去掉负号、去掉逗号等?您可以使用枚举来指示输入字符串中允许使用哪些样式: var input = "3,246,928-"; var res = Double.Par

我有一根绳子看起来像

3,246,928- 
我想把这个变成C#double

是否有一个预设的格式可以将其解析为负双精度

我试过了

double parsedValue = Double.Parse("3,246,928-");
和获取异常“输入字符串的格式不正确。”

有没有一种方法可以做到这一点,而无需手动检查结尾处的负号、去掉负号、去掉逗号等?

您可以使用枚举来指示输入字符串中允许使用哪些样式:

var input = "3,246,928-";

var res = Double.Parse(input, NumberStyles.AllowThousands | NumberStyles.AllowTrailingSign);

Console.WriteLine(res);  // -3246928
最好使用
TryParse

var input = "3,246,928-";

if (Double.TryParse(input, NumberStyles.AllowThousands | NumberStyles.AllowTrailingSign, null, out var result))
    Console.WriteLine(result);  // -3246928
可以使用枚举指示输入字符串中允许使用哪些样式:

var input = "3,246,928-";

var res = Double.Parse(input, NumberStyles.AllowThousands | NumberStyles.AllowTrailingSign);

Console.WriteLine(res);  // -3246928
最好使用
TryParse

var input = "3,246,928-";

if (Double.TryParse(input, NumberStyles.AllowThousands | NumberStyles.AllowTrailingSign, null, out var result))
    Console.WriteLine(result);  // -3246928

此处单据全部明细:此处单据全部明细: