声明时,只要有小数部分float必须加F/f,而double却不用
//float的声明只要有小数部分就要加F,不然会报不能隐式的将double类型转换为float类型。
float f1 = 1;//OK
float f2 = 1.1F;//一定要F
float f3 = 1.23F;
//double声明不需要加D
double d1 = 1;
double d2 = 1.2;
double d3 = 1.232434377777777;
//double的精度高于float,double转为float为显示转换,float转为double为隐式转换,而且float只能显示小数点后6位,其余的四舍五入
f1 =(float) d3;//1.232435
Console.WriteLine(5 / 8);//0 int/int=int 小数部位被省略
Console.WriteLine(5.0 / 8.0);//0.625 double/double=double
Console.WriteLine(5.0 / 8);//0.625 double/int=double
Console.WriteLine(5F / 8F);//0.625 float/float=float
Console.WriteLine(5D / 8D);//0.625 double/double=double
Console.WriteLine(1/3*3);//0
Console.WriteLine(1*3/3);//1
Console.WriteLine(1.0/3*3);//1