c ++ cómo obtener "exponente de un dígito" con printf

¿Hay alguna forma de imprimir en notación científica menos de 3 lugares para la parte exponente del número? El formato 6.1 no afecta al exponente sino solo a la parte numérica:

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

d

1.230000e-009
1.2e-009

También probé esto en wxWidgets con formato de cadena pero el comportamiento es el mismo.

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

Lo que me gustaría tener es1.2e-9.

Respuestas a la pregunta(10)

Su respuesta a la pregunta