Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

C#-grej

Skapad av norstedt, 2015-06-27 19:04 i Webbutveckling & Programmering

9 954
5 inlägg
0 poäng
norstedt
Visningsbild
Legend 2 inlägg
0
Tja.

Håller på ett lära mig c# nu, och har stött på ett problem.
Denna kod:

int a = 1;
int b = 2;
float c = a / b;
console.writeline(c);

Ger mig utskriften 0.
Svaret är ju självfallet 0,5. Varför skrivs inte decimaler ut?

Tack för hjälpen,
Mvh.

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Karlsson
Visningsbild
P 25 Arvika Legend 499 inlägg
0
I vissa språk måste du casta konvertera variabeltyperna. Måste nog göras i C#.

Gör om int:sen till floats när du sätter variablerna eller casta om;
float c = (float) a / (float) b;

http://stackoverflow.com/questions/1042099/c-sharp-how-to-convert-int-decimal-to-float

Tillägg av Karlsson 2015-06-27 19:19

Casta om int till float: https://ideone.com/BboAeJ

norstedt
Visningsbild
Legend 2 inlägg
Trådskapare
0

Svar till Karlsson [Gå till post]:
Tack! Nu fungerade det! :-)

PrivateSmith
Visningsbild
P Legend 65 inlägg
0

Svar till norstedt [Gå till post]:
Här har du dokumentation på divisions operatorn:
https://msdn.microsoft.com/en-us/library/3b1ff23f.aspx

Så, om täljaren eller nämnaren är av datatyp double eller float, så får du resultat med decimaler.
float c = (float) a / b;
float c = a / (float) b;

Och här är liten info kring omvandling från en datatyp till en annan. I vårt fall har vi använd av en explicit omvandling " Explicit conversion"
https://msdn.microsoft.com/en-us/library/ms173105.aspx
MvH Smith

Life is good, enjoy!

btj
Visningsbild
P Legend 191 inlägg
0
Nu kanske du lär dig på egen hand och inte i skolan, men tråden gav mig av nån anledning en redig nostalgi-tripp :D

Lära sig programmering i skolan var så mycket roligare förr i tiden när operativsystemen var osäkra och språken på lägre nivå. Mitt första "riktiga" program skrev sönder hårddisken på skoldatorn :) Vågar inte påstå att det var med vilje, men kanske.. hehehehe :D

Annat kul man kan göra än idag dock med minimala programmeringskunskaper och med SSD diskar är att göra en loop som skriver till samma block (jämförbart med kluster på en mekanisk disk) om och om igen till det blir fysiskt förstört och sen hoppa till nästa när du börjar få IO problem :) Mekaniska diskar dock är inte lika känsliga för repeterade skrivningar. Även om det tar en hel evighet att förstöra hela SSD disken kan du förstöra prestandan REJÄÄÄÄLT på disken (och hela operativsystemet, tillåmed göra det omöjiligt att boota beroende på vad blocken innehöll, om det är systemdisken) och orsaka alla möjliga problem :)

Vet inte riktigt varför jag sitter och skriver en handbok i att förstöra skolans/kompisars/ditt eget material. Men folk tipsar alltid om vettiga saker, jag har alltid tyckt att ovettiga saker är roligare att syssla med xD

Forum » Datorer & IT » Webbutveckling & Programmering » C#-grej

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons