Avatar billede BDV Juniormester
26. august 2019 - 20:47 Der er 2 kommentarer

Resultat med komma tal

Jeg er ved at lave en lommeregner, men jeg bøvler lidt med at få mit resultat vist med kommatal. Nogen der vil hjælpe. Her er min kode:

using System;

namespace Calculator
{
    class Program
    {
        static void Main(string[] args)
        {
            // Declare variables and then initialize to zero.
            int num1 = 0; int num2 = 0;

            // Display title as the C# console calculator app.
            Console.WriteLine("Min første lommeregner\r");
            Console.WriteLine("------------------------\n");

            // Ask the user to type the first number.
            Console.WriteLine("Skriv et nummer og tryk enter");
            num1 = Convert.ToInt32(Console.ReadLine());

            // Ask the user to type the second number.
            Console.WriteLine("Skriv et andet nummer");
            num2 = Convert.ToInt32(Console.ReadLine());

            // Ask the user to choose an option.
            Console.WriteLine("Vælg en af følgende muligheder fra listen:");
            Console.WriteLine("\t+ - Plus");
            Console.WriteLine("\t- - Minus");
            Console.WriteLine("\t* - Gange");
            Console.WriteLine("\t/ - Dividere");
            Console.Write("Your option? ");

            // Use a switch statement to do the math.
            switch (Console.ReadLine())
            {
                case "+":
                    Console.WriteLine($"Dit resultat: {num1} + {num2} = " + (num1 + num2));
                    break;
                case "-":
                    Console.WriteLine($"Dit resultat: {num1} - {num2} = " + (num1 - num2));
                    break;
                case "*":
                    Console.WriteLine($"Dit resultat: {num1} * {num2} = " + (num1 * num2));
                    break;
                case "/":
                    Console.WriteLine($"Dit resultat: {num1} / {num2} = " + (num1 / num2));
                    break;
            }
            // Wait for the user to respond before closing.
            Console.Write("Tryk på en vilkårlig tast for at lukke lommeregneren...");
            Console.ReadKey();
        }
    }
}
Avatar billede Syska Mester
26. august 2019 - 21:08 #1
heltal delt med heltal giver et heltal.

Parse dine input til Decimal i stedet ... så løser det sig.

Så kan du kigge på formateringen af det bagefter.
Avatar billede j3ppah Novice
28. oktober 2019 - 16:17 #2
Lige for at give dig en uddybning.

I programmering er der forskellige datatyper.

Du angiver at dine tal, er Integers.
https://www.tutorialspoint.com/csharp/csharp_data_types.htm
"int num1 = 0; int num2 = 0;"

Integers er heltal. hvilket vil sige en int kan være et heltal mellem
-2,147,483,648 og 2,147,483,647
Den kan ikke være fx 1,5 eller 100,543211213

Hvis du ønsker at regne i decimal tal, kan du vælge at benytte datatypes som Decimal, eller double (se linket)

Så hvis du ønsker at din lommeregner skal kunne regne med decimal tal, skal du skifte din datatype for dine input og resultat.

Og hvis du keder dig og vil lære lidt mere om datatyperne kan du prøve at skifte til floats og opleve hvorfor de ikke skal bruges til denne type opgave, samt hvornår de er nødvendige at benytte. :).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester