我们如何将 simTime() 转换为毫秒?

How can we transform simTime() to milliseconds?

我使用 Omnet++-4.6 和 Veins-4a2。

方法 simTime() returns 当前时间(以秒为单位)。我需要将它转换为毫秒,但我做不到。

当我像这样声明一个 simtime_t 变量时:

simtime_t TimeVar = simTime() * 1000;

报错。你知道我该怎么做吗?

simtime_t 是一个 class 用于以秒为单位存储模拟时间,如手册中所述 https://omnetpp.org/doc/omnetpp/manual/#sec:simple-modules:simulation-time

如果需要毫秒,请执行以下操作:

double ms = simTime().dbl() * 1000;

但是要考虑到如果你想使用这个值来调度其他消息,你必须再次将这个时间转换为秒以与模拟时间保持一致:

scheduleAt(ms / 1e3, msg);

另一种更复杂的方法是使用 SimTime class to store your simulation times in. You can use the inUnit 方法来获取值作为所需单位的表示。