我使用omnetpp-4.6和veins-4a2来执行我的模拟。
我运行这个变量" ch"对应于一个id包。在此示例中,46.100是我的模拟中节点46的数据包编号100。
我需要将它转换为浮点数,我使用了这个方法,但它在转换后将结果给出46.1而不是46.100。在我的工作中,46.1和46.100是两个不同的数据包。
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
std::string ch = "46.100";
std::cout.setf(std::ios_base::fixed, std::ios_base::floatfield);
std::cout.precision(3);
float var = atof(ch.c_str());
EV <<"The value of var is: " << var << "\n";
}
我用EV显示了我的日志文件中的所有消息。因此,当我使用 std :: cout 时,它会显示46.100,但是当我使用 EV 时,它会显示46.1。
有一种方法可以转换浮点数并使用正确的数字,我会使用EV吗?