我们如何将 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 方法来获取值作为所需单位的表示。
我使用 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 方法来获取值作为所需单位的表示。