Omnet ++双变量错误

时间:2016-01-21 10:34:20

标签: double omnet++

我想计算omnet中的double值,并且所有内容都以double形式定义,以计算传感器节点的剩余能量。但是它以整数格式计算能量水平。所以我看不到双重价值。它将能量减少1,但应减少0.000538。

例如,如果初始能量为10,我应该看到剩余的10 - 0.000538,但我看到了它。因此我们的结果是不正确的。我该如何解决这个问题?

lcnBtrySt = (double)getParentModule()->par("lcnBat_Full")

//lcnBtrySt is reached from the network.ned file.

//When I append the .DOUBLE to end of the

(double)getParentModule()->par("lcnBat_Full").DOUBLE

//its energy starts from 67.But actual one is 110160 j.
//I cannot fix the problem.


Rx value = 0.000538 ,hopBits =10.0;

    ev<<"Rx is equal to ",lcnBtrySt=lcnBtrySt-(Rx*hopBits);

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

通常,不要强制转换值(通过编写(double)foo)。这将隐藏可能发生的任何错误:它会强制编译器接受您尝试分配的任何内容 - 无论s是否真的是个好主意。

使用par("foo").doubleValue()将参数值读取为double。