C# Ausgabe einer Double Variable in Hexadezimaler Form

Pattikmaster

Cadet 4th Year
Registriert
Aug. 2012
Beiträge
85
Hallo ,

ich bin ein Neuling in Sachen C# und hab ein kleines Problem was ich nicht ganz lösen kann und zwar habe ich einen kleinen Taschenrechner geschrieben der + - * / rechnen kann.

Jetzt wollte ich Das Ergebnis auch in Hexadezimaler Schreibweise ausgeben das funktioniert aber leider nicht.
Es ist eine Konsolenanwendung

Hier mein Coding :

double a = 0;
double b = 0;
double c = 0;


string rechenoperant;
string weiter;

do
{
Console.WriteLine("Willkommen beim C# Taschenrechner");
Console.WriteLine();
Console.WriteLine("Wählen Sie eine Rechenart aus");
Console.Write("Zur Verfügung stehen: (+),(-),(*),(/)!\n");


Console.Write("\nEingabe: ");
rechenoperant = Console.ReadLine();
Console.Write("\n1-te Zahl eingeben: ");
a = Convert.ToDouble(Console.ReadLine());


Console.Write("2-te Zahl eingeben: ");
b = Convert.ToDouble(Console.ReadLine());



if (rechenoperant == "+")
{
c = a + b;
Console.WriteLine("\nDas Ergebnis lautet: " + c);
Console.WriteLine("\nErgebnis in Exponentialschreibweise: {0:E}\n\n", c);
Console.WriteLine("\nErgebnis in Hexschreibweise: {0:X}\n\n", c);

}

else if (rechenoperant == "-")
{
c = a - b;
Console.WriteLine("\n\nDas Ergebnis lautet: " + c);
Console.WriteLine("\nErgebnis in Exponentialschreibweise: {0:E}\n\n", c);


}

else if (rechenoperant == "*")
{
c = a * b;
Console.WriteLine("\n\nDas Ergebnis lautet: " + c);
Console.WriteLine("\nErgebnis in Exponentialschreibweise: {0:E}\n\n", c);
}

else if (rechenoperant == "/")
{
c = a / b;
Console.WriteLine("\n\nDas Ergebnis laut et: " + c);
Console.WriteLine("\nErgebnis in Exponentialschreibweise: {0:E}\n\n", c);
}

else Console.Write("Falsche Eingabe");


Console.WriteLine("Möchten Sie weiter Rechnen [j] || [n] ? ");
weiter = Console.ReadLine();
Console.Clear();
}
while (weiter == "j");


Ich hab die betroffene Zeile mal hervorgehoben... muss ich vllt. das Double erstmal umkonvertieren ? Wäre nett wenn mir hier jemand helfen könnte.

MFG Pattik
 
Zuletzt bearbeitet:
Du musst wohl umkonvertieren (z.B. in einen Ganzzahltyp), da Hexadezimal mit Nachkommastellen eher eine unübliche Darstellung ist...

Edit: oder eben wie es sesdensas verlinkt hat, dann hast du auch Nachkommastellen, falls gewünscht.
 
Zurück
Oben