string.split()奇怪的行为。 string.split('。')以逗号分隔的数字返回单个值?

时间:2015-08-29 08:59:45

标签: c# string split

这是我的代码:

public static string ClientBasedTime(DateTime? dtInFB, double zoneClient) 
//zoneClient = 5.5
{
    string[] arrTime = zoneClient.ToString().Split('.');
}

当我单独尝试时,一段代码工作正常,但在我的项目中表现得很奇怪。我知道它应该给我一个长度为2的数组,其值为arrTime[0] = 5arrTime[1] = 5。但它返回长度为1的数组,其值为arrTime[5,5]

1 个答案:

答案 0 :(得分:6)

您在本地化方面遇到问题,如果您的计算机位于使用逗号而非小数点分隔点的区域设置中,那么您将明确地使用'。'进行拆分。' s是什么将发生(ToString将返回5,5而不是5.5)。

将您的ToString更改为:

string[] arrTime = zoneClient.ToString(System.Globalization.CultureInfo.InvariantCulture).Split('.');

这样.net将始终使用点作为小数分隔符。