/// 根据asc码来判断字符串的长度,在0~127间字符长度加1,否则加2
///
/// 需要返回长度的字符串
///
public int TrueLength(string str)
{
int lenTotal = 0;
int n = str.Length;
string strWord = ""; //清空字符串
int asc;
for (int i = 0; i < n; i++)
{
strWord = str.Substring(i, 1);
asc = Convert.ToChar(strWord);
if (asc < 0 || asc > 127) // 在0~127间字符长度加1,否则加2
{
lenTotal = lenTotal + 2;
}
else
{
lenTotal = lenTotal + 1;
}
}
return lenTotal;
///
/// 需要返回长度的字符串
///
public int TrueLength(string str)
{
int lenTotal = 0;
int n = str.Length;
string strWord = ""; //清空字符串
int asc;
for (int i = 0; i < n; i++)
{
strWord = str.Substring(i, 1);
asc = Convert.ToChar(strWord);
if (asc < 0 || asc > 127) // 在0~127间字符长度加1,否则加2
{
lenTotal = lenTotal + 2;
}
else
{
lenTotal = lenTotal + 1;
}
}
return lenTotal;
}
///
/// 统一字符串的长度
///
/// 初始字符串
/// 规定统一字符串的长度
/// 追加的字符为' '
/// 返回统一后的字符串
public string PadRightTrueLen(string strOriginal,ref int maxTrueLength, char chrPad)
{
string strNew = strOriginal;
if (strOriginal == null || maxTrueLength <= 0)
{
strNew = "";
return strNew;
}
///
/// 统一字符串的长度
///
/// 初始字符串
/// 规定统一字符串的长度
/// 追加的字符为' '
/// 返回统一后的字符串
public string PadRightTrueLen(string strOriginal,ref int maxTrueLength, char chrPad)
{
string strNew = strOriginal;
if (strOriginal == null || maxTrueLength <= 0)
{
strNew = "";
return strNew;
}
int trueLen = TrueLength(strOriginal);
if (trueLen > maxTrueLength) // 如果字符串大于规定长度 将规定长度等于字符串长度
{
for (int i = 0; i < trueLen - maxTrueLength; i++)
{
maxTrueLength += chrPad.ToString().Length;
}
}
else// 填充 小于规定长度 用‘ ’追加,直至等于规定长度
{
for (int i = 0; i < maxTrueLength - trueLen; i++)
{
strNew += chrPad.ToString();
}
}
return strNew;
if (trueLen > maxTrueLength) // 如果字符串大于规定长度 将规定长度等于字符串长度
{
for (int i = 0; i < trueLen - maxTrueLength; i++)
{
maxTrueLength += chrPad.ToString().Length;
}
}
else// 填充 小于规定长度 用‘ ’追加,直至等于规定长度
{
for (int i = 0; i < maxTrueLength - trueLen; i++)
{
strNew += chrPad.ToString();
}
}
return strNew;
}