精确浮点数

时间:2017-04-16 19:02:23

标签: c++ omnet++ veins

我使用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吗?

0 个答案:

没有答案