#region Smart RoomNO
/// <summary>
/// 自动格式化为9位房号,
/// </summary>
/// <param name="roomNo">房号</param>
/// <returns>格式化后的房号</returns>
public static string SmartRoomNO(string roomNo)
{
roomNo = roomNo.ToUpper();
if (roomNo.Length ==9 || roomNo.Length ==0)
{
return roomNo;
}
else
{
string[] parts =roomNo.Split('-');
string newRoomNo;
switch (parts.Length)
{
case 2:
// 7-301 --> 07-1-0301
newRoomNo = Pad0(parts[0],2) + "-1-" + Pad0(parts[1],4);
break;
case 3:
// 7-2-301 --> 07-2-0301
newRoomNo = Pad0(parts[0],2) + "-"+ parts[1] +"-" + Pad0(parts[2],4);
break;
default:
newRoomNo = roomNo;
break;
}
return newRoomNo;
}
}
/// <summary>
/// 多个房号用分隔符分开的处理
/// </summary>
/// <param name="roomNo">房号字串</param>
/// <param name="compChar">分隔符</param>
/// <returns>格式化后的房号</returns>
public static string SmartRoomNO(string roomNo,string compChar)
{
if (roomNo.IndexOf(compChar) > 0)
{
string[] rooms =roomNo.Split(Convert.ToChar(compChar));
for(int i=0;i<rooms.Length;i++)
{
rooms[i] = SmartRoomNO(rooms[i]);
}
return String.Join(compChar,rooms);
}
else
{
return SmartRoomNO(roomNo);
}
}
/// <summary>
/// 多个房号用分隔符分开的处理,分隔符为逗号<br/>同 SmartRoomNO(roomNo,",")
/// </summary>
/// <param name="roomNos"></param>
/// <returns></returns>
public static string SmartRoomNOs(string roomNos)
{
return SmartRoomNO(roomNos,",");
}
private static string Pad0(string str,int n)
{
if (str.Length >=n)
{
return str;
}
else
{
return str.PadLeft(n,'0');
}
}
#endregion
/// <summary>
/// 自动格式化为9位房号,
/// </summary>
/// <param name="roomNo">房号</param>
/// <returns>格式化后的房号</returns>
public static string SmartRoomNO(string roomNo)
{
roomNo = roomNo.ToUpper();
if (roomNo.Length ==9 || roomNo.Length ==0)
{
return roomNo;
}
else
{
string[] parts =roomNo.Split('-');
string newRoomNo;
switch (parts.Length)
{
case 2:
// 7-301 --> 07-1-0301
newRoomNo = Pad0(parts[0],2) + "-1-" + Pad0(parts[1],4);
break;
case 3:
// 7-2-301 --> 07-2-0301
newRoomNo = Pad0(parts[0],2) + "-"+ parts[1] +"-" + Pad0(parts[2],4);
break;
default:
newRoomNo = roomNo;
break;
}
return newRoomNo;
}
}
/// <summary>
/// 多个房号用分隔符分开的处理
/// </summary>
/// <param name="roomNo">房号字串</param>
/// <param name="compChar">分隔符</param>
/// <returns>格式化后的房号</returns>
public static string SmartRoomNO(string roomNo,string compChar)
{
if (roomNo.IndexOf(compChar) > 0)
{
string[] rooms =roomNo.Split(Convert.ToChar(compChar));
for(int i=0;i<rooms.Length;i++)
{
rooms[i] = SmartRoomNO(rooms[i]);
}
return String.Join(compChar,rooms);
}
else
{
return SmartRoomNO(roomNo);
}
}
/// <summary>
/// 多个房号用分隔符分开的处理,分隔符为逗号<br/>同 SmartRoomNO(roomNo,",")
/// </summary>
/// <param name="roomNos"></param>
/// <returns></returns>
public static string SmartRoomNOs(string roomNos)
{
return SmartRoomNO(roomNos,",");
}
private static string Pad0(string str,int n)
{
if (str.Length >=n)
{
return str;
}
else
{
return str.PadLeft(n,'0');
}
}
#endregion