Konvertieren von scientific notation auf dezimal in C++

Ich möchte in der Lage sein, um die Ausgabe in dezimal-und nicht wissenschaftliche für alle Fälle in meinem code.

Wenn ich 122041e+08 dann möchte ich es anzeigen als 122041000

Wenn ich 4.6342571 e+06 dann möchte ich es anzeigen als 4634257.1

... und so weiter.

Mit meinem code, der die Ausgabe für 4.6342571 e+06 4634257.100000

void conversion(double counts)
{
  std::ostringstream ss;
  ss << std::fixed << counts;
  std::cout << ss.str() << " MeV";
}

Kann mir jemand erklären, warum es fügt 0 s am Ende und, wenn es möglich ist, Sie zu entfernen.

Schreibe einen Kommentar