Я использую omnetpp-4.6 и veins-4a2 для выполнения симуляции.
Я запускаю этот код, который переменной «ch» соответствует пакету id. В этом примере 46.100 — это номер пакета 100 для узла 46 в моем моделировании.
Мне нужно преобразовать его в число с плавающей точкой, я использовал этот метод, но он дает результат после преобразования 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. Итак, когда я использую станд :: соиЬ он показывает 46.100, но когда я использую Е.В. отображает 46.1.
Есть метод, чтобы преобразовать число с плавающей точкой и получить правильное число, которое я использовал бы EV, пожалуйста?
Задача ещё не решена.
Других решений пока нет …