Okrągłe podwójne do 3 punktów dziesiętnych [duplikat]

To pytanie ma już tutaj odpowiedź:

Zaokrąglij pływak do regularnej siatki predefiniowanych punktów 10 odpowiedzi

Obecnie mogę zaokrąglićdouble do strumienia wyjściowego za pomocą:

output.setf(std::ios::fixed,std::ios::floatfield);
output.precision(3);

Ale dostajędouble i muszę dokonać konwersji, zanim wstawię ją do wektora. Na przykład, jeśli numer-0.00078 pojawia się wtedy równa się0.000 i nie będę musiał go zapisywać. Z drugiej strony,1.0009 stanie się1.001 (tak samo jak funkcja precyzyjna obsługuje to).

W jaki sposób mogę przekonwertować debla w ten sposób w C ++?

questionAnswers(4)

yourAnswerToTheQuestion