IIS Web 服务还是什么,更改方法结果
本文关键字:方法 结果 是什么 Web 服务 IIS | 更新日期: 2023-09-27 18:37:11
我在 IIS 上有一个 Web 服务。 服务必须返回 34.56 字符串值。因为在我的本地服务中返回此值,但是当我在 IIS 服务器上尝试此方法时,methot 返回 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
使用当前的线程区域性。您可能在系统上使用不同的区域设置。
解决方案是通过调用以IFormatProvider
为参数的Convert.ToDouble
重载来使用适当的文化:
string s = "34,56000";
double d = Convert.ToDouble(s); // my default US -> 3456000
d = Convert.ToDouble(s, CultureInfo.InvariantCulture); // -> 3456000
d = Convert.ToDouble(s, CultureInfo.GetCultureInfo("en-US")); // -> 3456000
d = Convert.ToDouble(s, CultureInfo.GetCultureInfo("de-DE")); // -> 34.56