使用双精度解析字符串并获取错误输入字符串的格式不正确

c#

我有一个来自 csv 文件的字符串,看起来像这样 ""711,200.00"" 我试图用这个代码将该数字转换为双精度

collaterel.LoanQty = double.Parse(values[25], CultureInfo.InvariantCulture);

我已经去掉了逗号并尝试转换为双精度,但我仍然得到输入字符串的格式不正确

这是我用来去掉逗号的

  if (values[25].Contains(","))
  {
     values[25] = values[25].Replace(",", "");
  }

我尝试了很多文化,但仍然失败。

带有cultureinfo 的屏幕截图double.parse 不起作用

回答

由于double.Parse("711,200.00", CultureInfo.InvariantCulture) 有效,但您的输入是""711,200.00"",您只需要修剪引号:

collaterel.LoanQty = double.Parse(values[25].Trim('"'), CultureInfo.InvariantCulture);

通常,您应该使用double.TryParse以避免捕获格式无效的异常。


以上是使用双精度解析字符串并获取错误输入字符串的格式不正确的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>