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 .

12
задан Kris_R 7 January 2012 в 21:08
поделиться