Wie kann man in C++ und C# die gleichen Rundungsergebnisse bei der Doppel-zu-String-Konvertierung erzielen?C++

Programme in C++. Entwicklerforum
Guest
 Wie kann man in C++ und C# die gleichen Rundungsergebnisse bei der Doppel-zu-String-Konvertierung erzielen?

Post by Guest »

Ich möchte sowohl in C++ als auch in C# ein Double in einen String mit einer bestimmten Anzahl von Dezimalstellen konvertieren und möchte, dass die Ergebnisse dieser Konvertierungen in beiden Sprachen gleich sind. Insbesondere die C++-Konvertierung sollte der Konvertierung in C# entsprechen.
Als Beispiel möchte ich einen Double-Wert von 3,15 in einen String mit einer Nachkommastelle konvertieren.
In C# kann ich Folgendes tun:

Code: Select all

// C#
double d = 3.15;
string str0 = d.ToString("0.0");
Dann enthält die resultierende Variable str0 „3.2“. Dies ist das erwartete Rundungsergebnis.
In C++ gibt es mehrere Möglichkeiten für eine solche Konvertierung:

Code: Select all

// C++
double d = 3.15;

char str1[256];
sprintf(str1, "%.1f", d);

std::stringstream stream;
stream

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post