c# - 如何在 C# 中解析字符串(以逗号和结尾的符号,即 "3,246,928-")?

标签 c# string parsing double

我有一个字符串看起来像

3,246,928- 

我想把它变成 C# double。

是否有一种预设格式可以将其解析为我的负 double 值?

我试过了

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

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

有没有一种方法可以手动检查末尾的负号、将其删除、删除逗号等?

最佳答案

您可以使用 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

关于c# - 如何在 C# 中解析字符串(以逗号和结尾的符号,即 "3,246,928-")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54544534/

相关文章:

asp.net-mvc - 如何在 Razor 中传递带空格的字符串

javascript - 从ajax驱动的网站检索渲染的html

c# - Microsoft.Web.Administration - NullReferenceException 与 ApplicationHost.Config 中的 httpErrors

c# - 如何使用 Kinect 跟踪一个人 (trackingID)

c# - ASP.NET Identity - 每种类型多个对象集

python - Python中的 "string"和 'string'有什么区别吗?

c - c 指针字符串的问题

javascript - 无法使用javascript获取描述RSS标签数据

c++ - 确定一个数字是否包含用于类(class)分配的数字

c# - MVC Controller 操作返回字符串的替代方案?