日期:2014-05-18  浏览次数:20391 次

难题Convert.ToInt32出错(输入字符串的格式不正确)
string   tem   =   "2005 ";
int   temInt   =   Convert.ToInt32(tem);


string   tem   =   "2005 ";
int   temInt   =   Convert.ToInt32(tem);

第一种出错,第二种是好的.
怎么才能把第一种转化过来

------解决方案--------------------
using Microsoft.VisualBasic;
//字符全角转化为半角
private string convertNarrow(string str)
{
str = Strings.StrConv(str,VbStrConv.Narrow,0);
return str;
}
------解决方案--------------------
网上找的,你试试

/**//// <summary>
/// 转全角的函数(SBC case)
/// </summary>
/// <param name= "input "> 任意字符串 </param>
/// <returns> 全角字符串 </returns>
/// <remarks>
///全角空格为12288,半角空格为32
///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
/// </remarks>
public string ToSBC(string input)
{
//半角转全角:
char[] c=input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i]==32)
{
c[i]=(char)12288;
continue;
}
if (c[i] <127)
c[i]=(char)(c[i]+65248);
}
return new string(c);
}


/**//// <summary>
/// 转半角的函数(DBC case)
/// </summary>
/// <param name= "input "> 任意字符串 </param>
/// <returns> 半角字符串 </returns>
/// <remarks>
///全角空格为12288,半角空格为32
///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
/// </remarks>
public 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);
}

------解决方案--------------------
Microsoft.VisualBasic.Strings.StrConv函数
------解决方案--------------------
要添加Microsoft.VisualBasic这个引用才有LS的那个函数
------解决方案--------------------
1楼的代码没问题,是因为你要在Bin中追加引用Microsoft.VisualBasic,这样你才能在程序中using....