Точность числа с плавающей точкой

Я использую 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, пожалуйста?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]