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

本文关键字:String split 分隔 数字 单个值 返回 | 更新日期: 2023-09-27 18:10:29

下面是我的代码:

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] ?

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

你有本地化的问题,你明确地用'分割。’,如果你的机器所在的语言环境使用逗号而不是点作为小数分隔符,那么就会发生这种情况(ToString将返回5,5而不是5.5)。

把你的ToString改成:

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

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