Impostazione della larghezza del campo Esponente per un ostream Linux / Visual Studio
-
11-12-2019 - |
Domanda
Ho bisogno di eseguire un programma che avrà un'uscita simile sia su Linux che su Visual Studio.
Larghezza predefinita di Linux del campo Exponent è 2 e Visual Studio è 3.
Quindi per un numero 3.40282E + 38 Linux la lascia così com'è, ma Visual Studio si blocca con un ulteriore 0, 3.40282E + 038
Qualcuno sa come configurare l'output in Visual Studio per rimuovere lo zero?(o aggiungere uno zero in linux)
Soluzione
Secondo Wikipedia: http://en.wikipedia.org/wiki/printf_format_string .
.L'esponente contiene sempre almeno due cifre;Se il valore è zero, l'esponente è 00. In Windows, l'esponente contiene tre cifre per impostazione predefinita, ad es.1.5E002, ma questo può essere modificato da Funzione _set_output_format specifica per Microsoft.
Quindi sembra che tu possa chiedere al compilatore di Microsoft non aggiungere lo zero.Non so chiedere a GCC di aggiungere lo zero, però.