为什么除以10后输出没有小数,而除以10.0输出后就会有小数

 double a = Convert.ToDouble(Console.ReadLine());
double d = ((int)((a + 0.05) * 10))/10;
double d = ((int)((a + 0.05) * 10))/10.0;

10是int型的常量
10.0是double型的常量
两个int型相除,得数也是int型,即使你的变量d是double型,问题是你把int型赋值给double型,精度已经丢失了,丢失了的东西就找不回来了

第二行是两个整数相除,进行的是整除操作,所以没有小数