【发布时间】:2013-07-30 03:59:36
【问题描述】:
我有一个问题,我试图设置一个 double 值,但它一直给我 int 值。
例子:
int length;
double width;
double area =0;
setArea (getArea() + length * width);
Area 将变成 int 值。
我试过了
double newLength = static_cast<double>(length);
或
改成
double length;
在设置区域之前但不起作用。奇怪的是,当我使用实际整数(例如 10 代替长度或实际小数代替宽度)时,它可以工作。
提前致谢。
【问题讨论】:
-
“它一直给我一个 int 值”是什么意思?
-
尝试(双)(getArea()+长*宽);
-
抱歉,人为错误。实际上是在读取错误的数据文件。花了几个小时......
-
据我所知,长度和宽度都是统一变量。此外,您还没有提供 setArea() 和 getArea() 函数的签名。 setArea() 和 getArea() 的返回值是什么?