我有用于货币转换的简单 ASP.NET 应用程序。当我在 localhost 上尝试时,一切正常。但是,当应用程序运行时,任何托管 WebClient 的 DownloadString() 方法都会抛出 Input string was not in a correct format 异常。
我的代码:
string s =
wc.DownloadString(
"http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt");
有什么问题?我使用的主机可能有一些限制吗?
感谢帮助。
编辑:
看起来问题不在 DownloadString() 中。之后我有代码来子串所需的汇率
s = s.Replace(',', '.');
string eur = s.Substring(s.IndexOf("EUR") + 4);
rateEUR = Convert.ToDouble(euro.Substring(0, 6));
但是为什么这会在本地而不是在托管上工作呢?
那么问题就解决了。这是不同文化的问题。我想用 . 是足够的,但显然不是。
string euro = s.Substring(s.IndexOf("EUR") + 4);
rateEUR = Convert.ToDouble(euro.Substring(0, 6), CultureInfo.InvariantCulture);