c ++ как получить «однозначный показатель» с помощью printf

Есть ли способ напечатать в научной записи менее 3 мест для показательной части числа? Форматирование 6.1 не влияет на показатель степени, а только на числовую часть:

var=1.23e-9;
printf ("%e\n", var);
printf ("%6.1e\n", var);

дает

1.230000e-009
1.2e-009

Я также пробовал это в wxWidgets с форматированием строки, но поведение такое же.

m_var->SetLabel(wxString::Format(wxT("%6.1e"),var));

То, что я хотел бы иметь1.2e-9.

Ответы на вопрос(5)

Ваш ответ на вопрос