Есть простой способ в C ++ увеличить точность удвоения, которая даже:
Например
double d = 3.6
было бы
d = 3.600 (adding 2 zeros)
этот d затем отправляется в строковый класс
std::to_string(d);
Вы можете спросить почему? Я использую графический интерфейс (gtkmm), и в текстовом виде каждое число должно иметь одинаковую длину.
Это результат, если длина не совпадает:
4.396 3.957 11
4.183 3.783 10
3.959 3.6 9
3.723 3.404 8
3.474 3.194 7
3.207 2.967 6
2.919 2.719 5
Можно ли увеличить десятичные дроби, то есть добавить дополнительные нули, когда значение является примитивом, или мне вместо этого придется манипулировать строкой?
РЕДАКТИРОВАТЬ: Я должен был быть более ясным — я не заинтересован в std :: cout. Вывод abow представляет графический интерфейс
Технически вы не меняете точность типа double
, Чтобы добавить «лишние нули», если число слишком короткое, вы можете использовать std::stringstream
следующее:
std::stringstream s;
double d = 3.6;
s << std::fixed << std::setprecision(3) << d;
std::string res = s.str();
std::cout << res;
Выше будет установить точность цифр в 3
цифры и печать 3.600
,