【发布时间】:2016-03-02 13:21:06
【问题描述】:
我在 iis 上有一个网络服务。服务必须返回类似 34.56 的字符串值。因为在我的本地服务中返回这个值,但是当我在 iis 服务器上尝试这个方法时返回 34560000。 这个问题的原因是什么?
public string GetTotal(string a, string b)
{
double total= 0;
List<BorcLite> bList = GetTotalList(a, b);
if (bList.Count == 0)
return total.ToString();
if (bList[0].resultCode != "0")
return bList[0].resultCode;
foreach (BorcLite record in bList)
{
total+= Convert.ToDouble(record.totalBill);
}
return total.ToString();
}
【问题讨论】:
-
两台机器上可能使用不同的语言环境,
Convert.ToDouble使用当前的线程文化。尝试使用Convert.ToDouble(s, CultureInfo.InvariantCulture)或您需要的任何文化 -
嗯,似乎是语言环境问题
-
非常感谢 Zdeslav Vojkovic :) 它有效。
标签: c# asp.net web-services iis windows-server-2012