{
public static String ToDBC(String input)
{
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 12288)
{
c[i] = (char)32;
continue;
}
if (c[i] > 65280 && c[i] < 65375)
c[i] = (char)(c[i] - 65248);
}
return new String(c);
}
public static bool IsDBC(Char c)
{
return ((c > 65280 && c < 65375) || c == 12288);
}
}
2.判断 foreach (var c in value.ToString())
if (StrHelper.IsDBC(c))
{
Outputs.WriteLine(OutputMessageType.Info, new InvalidRangeException(value.ToString() + "中含有全角字符,系统已经将其转换为半角字符"
, new RangeInfo(rangeInfo.Range, rangeInfo.Row, colOfID, rangeInfo.RowCount, rangeInfo.ColCount)));
break;
}
3.转换 try
{
string buf = StrHelper.ToDBC(value.ToString());
id = int.Parse(buf.ToString());
rankInfos.Add(id, row - 2);
}