float和double数据类型的声明,转换和计算

声明时,只要有小数部分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

  

原文地址:https://www.cnblogs.com/lucyliang/p/4736635.html