如何在C#中解析字符串(用逗号和结束标志,即“3,246,928-”)?

问题描述 投票:1回答:1

我有一个字符串,它看起来像

3,246,928- 

我想要把它变成一个C#的两倍。

是否有将解析这对我来说是负面双预设格式?

我试过了

double parsedValue = Double.Parse("3,246,928-");

并得到了异常“输入字符串的不正确的格式。”

有没有办法做到这一点,而不在最后一个负号手动检查,剥离出来,剥逗号等..?

c# string parsing double
1个回答
7
投票

您可以使用NumberStyles枚举,表示允许在输入串的样式:

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
© www.soinside.com 2019 - 2024. All rights reserved.