s=(double)(a-b)/b*100+0.5中的double为什么可以这样写

s=(double)(a-b)/b*100+0.5
double是双精度,这样用是什么意思?

这样写是把结果强类型转换成double类型的
如果你的a和b都是int的
(a-b)/b*100这里只能算出一个int的值
加上了(double)才能算出带小数的