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

0 c# string split

这是我的代码:

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

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

Gus*_*man 6

你有本地化的问题,你明确地用'.​​'分割,如果你的机器在一个使用逗号而不是小数点分隔符的语言环境中,那将会发生什么(ToString将返回5,5而不是5.5).

将您的ToString更改为:

string[] arrTime = zoneClient.ToString(System.Globalization.CultureInfo.InvariantCulture).Split('.');
Run Code Online (Sandbox Code Playgroud)

通过这种方式.net将始终使用点作为小数分隔符.