3 svar
257 visningar
Mattevaldsson 6 – Fd. Medlem
Postad: 6 feb 2021 16:17

Uppgift arbetsuppgift i arbetsboken 7.1.9

Hej, jag försöker lära mig mig C# och går nu i kursen "programmering 1 i C#" Märkt nu att jag sitter fast i en uppgift och svårt hitta "lösningen på internet eller förklaring på uppgiften när jag sitter fast. Ni kanske har någon sida som kan hjälpa en eller annan lösning.

Men min uppgift:

 

class Program
{
static void Main(string[] args)
{
int a = 1;
int b = 2;
float c = a / b;
Console.WriteLine(c);

// svart blir 0, men i boken så vill dem ha 0,5 i svar.

// Det finns två lösningar på problemet, finn båda! 

För mig blir jag förvirrad om jag ska ändra koden helt eller vad är det jag ska göra? Hjälp tack.
}


}

datav 34
Postad: 6 feb 2021 16:25 Redigerad: 6 feb 2021 16:27
Mattevaldsson skrev:

När du kör float c = a/b där a och b är en int så kommer det bli en så kallad Integer-division.
En lösning är att du ändrar koden till float c = (float)a / (float)b (detta kallas för explicit casting där du castar om din int till en float)

Eller float a = 1, float b = 1 och sedan float c = a/b;

Mattevaldsson 6 – Fd. Medlem
Postad: 6 feb 2021 16:38
datav skrev:
Mattevaldsson skrev:

När du kör float c = a/b där a och b är en int så kommer det bli en så kallad Integer-division.
En lösning är att du ändrar koden till float c = (float)a / (float)b (detta kallas för explicit casting där du castar om din int till en float)

Eller float a = 1, float b = 1 och sedan float c = a/b;

Är det för int kan inte bli decimaltal? 

datav 34
Postad: 6 feb 2021 17:31
Mattevaldsson skrev:
datav skrev:
Mattevaldsson skrev:

När du kör float c = a/b där a och b är en int så kommer det bli en så kallad Integer-division.
En lösning är att du ändrar koden till float c = (float)a / (float)b (detta kallas för explicit casting där du castar om din int till en float)

Eller float a = 1, float b = 1 och sedan float c = a/b;

Är det för int kan inte bli decimaltal? 

Ja exakt, int står för integer som betyder heltal på svenska. Så då använder man sig av float istället.

Svara
Close