hej! tja... Samma resultat med double. Det lustiga är att det funkar om jag bara gör en enkel addition som: Nu har jag testat lite till, och funnit följande: 17 / 4217 beräknas som heltalsdivision. Eftersom svaret är mindre än ett anrundas det till noll. Om man använder litteraler i beräkningen är en variant att tala om att de är flyttal:Räkneproblem i C#
Jag är rätt så ny när det gäller C#, och har inte förrän nu behövt göra några beräkningar i koden. Nu försöker jag göra några enkla beräkningar, men det funkar inte som jag tänkt mig och är van från VB. Detta ger resultatet 0.0 (temp)
float temp;
temp = activeCount / totalCount * 100;
Där activeCount är 17 och totalCount är 4312.
Hur skall det skrivas i C#?Sv: Räkneproblem i C#
Det skall väl fungera...
Jag hade nog använt mig av en double istället...
Sen kan du köra temp = Math.Round(activeCount / totalCount * 100, 5); så du inte får en massa decimaler...Sv:Räkneproblem i C#
temp = activeCount + okCount;
Fattar igenting..Sv: Räkneproblem i C#
double test;
test= 17 / 4217;
Funkar inte. test blir 0.
double test2;
test2= 17 * 4217;
Funkar däremot! Division funkar alltså inte medan multiplikation fungerar.
Är min kompilator berusad, eller gör jag något fel!? Ingen referens som behövs typ System.Division..
:-(Sv:Räkneproblem i C#
Du måste typomvandla först:
double test = (double)17/4217;Sv:Räkneproblem i C#
test = 17f / 4217f;