C#中进行算术运算容易牵扯到类型的自动转换,这种自动转换称之为隐式转换,当然还可以人为的强制转换
隐式转换要求:不丢失精度,而且转换前后都为数值
强制转换:容易丢失可能会丢失精度
1 namespace 除法运算 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 int a = 10; 8 int b = 3; 9 double chu = 1.0*a / b; // 定义的是double类型,但在不乘 1.0的情况下输出结果竟然是3,受不鸟 10 Console.WriteLine("chu={0}",chu); 11 Console.ReadKey(); 12 } 13 } 14 } 15 /*参与运算的操作数和结果必须类型一致。 16 因为a和b都是整形,不牵扯到数据类型自动转换, 17 所以a/b = 3将3赋值给chu的时候,虽然chu是double,但是结果已不可能是3.3333*/