【问题标题】:Double.Parse not giving correct resultDouble.Parse 没有给出正确的结果
【发布时间】:2012-03-20 13:27:45
【问题描述】:

我正在两个应用程序中尝试这个;一个控制台应用程序和一个 Web 应用程序。

在控制台应用程序中,当我尝试 Double.Parse("0.5") 时,它给出 0.5 或 Double.Parse(".5") 给出 0.5

但在 web 应用程序中 Double.Parse("0.5") 给出 5.0 而 Double.Parse(".5") 给出异常

输入字符串的格式不正确。

谁能告诉我如何解决网络应用程序中的问题?

【问题讨论】:

  • 发布您正在使用的确切代码。它不应该那样做。
  • @Oded 在网络应用程序中将. 视为千位分隔符。

标签: c# vb.net visual-studio


【解决方案1】:

您应该提供文化信息,否则它会使用当前正在运行的线程中的文化信息。试试这个:

CultureInfo cultureInfo = CultureInfo.InvariantCulture; // or whatever you prefer
double result = double.Parse(".5", cultureInfo);

【讨论】:

  • 当,本来要写的,但看到了你的答案。准确,切中要害。不错!
  • 好吧,我在(可能是一毫秒延迟:p)之后立即点击了接受按钮,但 SO 让我等待 3 分钟 :(
  • @marc_s 该网站在接受答案之前强制执行最短时间,以鼓励用户稍等片刻,以防发布更好的答案。似乎是 15 分钟。
猜你喜欢
  • 2014-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-01
  • 2015-11-12
  • 2012-08-30
  • 2016-04-15
相关资源
最近更新 更多