C#有多种数据类型,每种数据类型只能存储这种类型的变量,但又的时候我们需要各种类型之间的转换。比如在计算2+3.5的时候,这个时候有两种情况:
自动类型转换:2种不同类型的数据运算,低精度类型的数值会自动转换成高精度类型的数值。
在上面的计算中2将转换成2.0参与计算,以提高精确度,得到的结果是5.5。在比如你定义了一个double类型的数值是1,但是在参加计算的时候它会自动转换成1.0进行计算的。
强制类型转换:无法自动转换为我们需要的类型,可以用强制类型转换,比如上例可以这样完成:doublei=(double)3;
数字前面的(double)表示转换的目标类型为double,3会被强制转换为3.0。
需要注意, double 型强制转换为int型将失去小数部分,比如(int)2.8,我们得到的将是2。