这是我的代码:
public static string ClientBasedTime(DateTime? dtInFB, double zoneClient)
//zoneClient = 5.5
{
string[] arrTime = zoneClient.ToString().Split('.');
}
当我单独尝试时,一段代码工作正常,但在我的项目中表现得很奇怪。我知道它应该给我一个长度为2的数组,其值为arrTime[0] = 5
和arrTime[1] = 5
。但它返回长度为1的数组,其值为arrTime[5,5]
?
答案 0 :(得分:6)
您在本地化方面遇到问题,如果您的计算机位于使用逗号而非小数点分隔点的区域设置中,那么您将明确地使用'。'进行拆分。' s是什么将发生(ToString将返回5,5而不是5.5)。
将您的ToString更改为:
string[] arrTime = zoneClient.ToString(System.Globalization.CultureInfo.InvariantCulture).Split('.');
这样.net将始终使用点作为小数分隔符。