关键代码如下:
////// 估算中英文字符串的宽度/// ///public static double GetWidthUnitCount(string value){ double count = 0; for (var i = 0; i < value.Length; i++) { if (IsChinese(value[i].ToString()) == true) { count += 2; } else if (IsUpChar(value[i].ToString()) == true) { count += 1.5; } else { count += 1; } } return count;}/// /// 是否汉字或中文标点/// private static bool IsChinese(string value){ Regex reg = new Regex("[\u4E00-\u9FFF]|[\uFE30-\uFFA0]"); return reg.IsMatch(value);}////// 是否大写字母/// private static bool IsUpChar(string value){ Regex reg = new Regex("[A-Z]"); return reg.IsMatch(value);}