NET类型转型的四种做法
◆ 强制转型(int)变量名称
◆ intParse(字符串变量名称)
◆ ConvertTo类型(变量名称)
◆ TryParse
强制转型 (casting)
◆ 浮点数会做无条件捨去失去精确度
◆ 可处理 object 转 int但遇到 object 为 null 时会产生 error
◆ 某些情况下如 object 转型成 int有时正常但有时会无故发生 error原因不明
◆ 无法处理 string 转 int (程序中常会用到的功能)
◆ 千万不可用来处理 char 类型否则传回的是 ASCII 码而不是字面上的数字
intParse(字符串变量名称)
◆ 只能处理 string 转 int 或其它类型无法处理 string 以外的类型功能有限
◆ 遇到 string 为 null 或 stringEmpty 时仍会造成程序 error
◆ 亦可变化使用「类型Parse(string)」但参数只能丢 string
ConvertTo类型(变量名称)
◆ 可处理所有 NET 的类型功能完整
◆ 可处理 null几乎不会因转型造成程序 error
◆ 透过「ConvertToInt(变量)」转型成 int 时变数若为 object 或 string 类型当其值为 null 时会传回 不会造成程序 error
◆ 续前一点若此 string 类型的变量其原始值为 stringEmpty在转型成 int 时仍会造成程序 error
◆ 浮点数会做四捨五入
◆ 千万不可用来处理 char 类型否则传回的是 ASCII 码而不是字面上的数字
测试范例
protected void Page_Load(object sender EventArgs e)
{
char i = ;
char i = ;
string i = null;
string i = ;
string i = stringEmpty;
int i = ;
int i = ;
double i = ;
double i = ;
object i = null;
object i = ;
// 浮点数会做无条件捨去某些情况会无故产生 error
ResponseWrite((int)i + + (int)i + <br>);
// 只能处理「字符串」转型成其它类型功能有限
ResponseWrite(intParse(i) + + intParse(i) + <br>);
// 可处理所有类型及 Null但浮点数会做四捨五入推荐使用但不可处理 char 类型
ResponseWrite(ConvertToInt(i) + + ConvertToInt(i) + <br>);
}
遇到要特别注意数字金额精确度的项目时应特别注意
TryParse
这个方法是 NET Framework 版的新功能将数字的字串表示转换成它的对等 位元带正负号的整数传回指示作业是否成功的值 TryParse 方法与 Parse 方法类似除了TryParse 方法在转换失败时不会掷回例外状况以外