我有一个看起来像的字符串
3,246,928-
我想把它变成C#的两倍。
是否有预设格式对我来说将其解析为负双精度?
我试过了
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