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.
}
}
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;
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?
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.