可能会丢失数据,double到int float

img

img


这是个什么情况啊?应该怎么改呢,我是个初学者,不是很懂,感谢朋友们帮助

int只能表示整数,double可以表示小数。
所以当你用一个int去表示double时就没有小数部分了,小数部分数据会丢失。
修改:
使用double Q, rate;
另外你前面那行没加分号

switch結構內部的賦值語句, rate定義爲整型int, 但數值是float, 比如0.026, 導致rate的實際值被截短變爲0, 所以, 把變量聲明語句改一下:


```c
int year, money  //其實建議money也聲明爲float
float Q, rate
...

```

double Q;