sqrt函数怎么得到浮点型的数据

sqrt函数如何得到浮点型的数据
我在用开方函数的时候,发现结果是double,我怎么能把结果编程保留6位小数的浮点型呢?代码如下:
float modulo;
float xreal[N/2],ximag[N/2];
modulo = sqrt(xreal[i]*xreal[i] + ximag[i]*ximag[i]);
我想让modulo保留小数点后6位,提高复数模的精度,代码应该怎么修改呢?请高手指点,谢谢!

------解决方案--------------------
float modulo;
float xreal[N/2],ximag[N/2];
modulo = (float)sqrt(xreal[i]*xreal[i] + ximag[i]*ximag[i]);
printf("%.6f\n",modulo);

------解决方案--------------------
printf("%.6f",modulo);