Zac*_*ack 1 c# string double parsing
我有一个看起来像的字符串
3,246,928-
Run Code Online (Sandbox Code Playgroud)
我想把它变成C#double.
是否有预设格式将此解析为负面双重?
我试过了
double parsedValue = Double.Parse("3,246,928-");
Run Code Online (Sandbox Code Playgroud)
并得到一个例外"输入字符串的格式不正确."
有没有办法做到这一点,而无需在最后手动检查负面符号,剥离它,剥离逗号等.?
您可以使用NumberStyles枚举来指示输入字符串中允许的样式:
var input = "3,246,928-";
var res = Double.Parse(input, NumberStyles.AllowThousands | NumberStyles.AllowTrailingSign);
Console.WriteLine(res); // -3246928
Run Code Online (Sandbox Code Playgroud)
使用它也可能是一个好主意TryParse:
var input = "3,246,928-";
if (Double.TryParse(input, NumberStyles.AllowThousands | NumberStyles.AllowTrailingSign, null, out var result))
Console.WriteLine(result); // -3246928
Run Code Online (Sandbox Code Playgroud)