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] = 5
和arrTime[1] = 5
的数组。但是它返回长度为1的数组值为arrTime[5,5]
?
你有本地化的问题,你明确地用'分割。’,如果你的机器所在的语言环境使用逗号而不是点作为小数分隔符,那么就会发生这种情况(ToString将返回5,5而不是5.5)。
把你的ToString改成:
string[] arrTime = zoneClient.ToString(System.Globalization.CultureInfo.InvariantCulture).Split('.');
这样。net将始终使用点作为小数分隔符。