Variabel med deciamaltal

Tags:    c#

Hej

Jeg har brug for en variabels decimaler.

Se koden:
Fold kodeboks ind/udCSharp kode 


Tallet bliver rundet op eller ned - i dette tilfælde bliver resultatet v=0.

Jeg har ikke fundet hjælp andre steder - håber på hjælp.

Venligst
Gorm



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 7 karma
Sorter efter stemmer Sorter efter dato
i C er det sådan at når man deler 2 heltal med hinnanden får man et heltal så hvidt jeg husker.


(utested)
prøv at lave a eller b om til decimal

decimal a = 1.0;
int b = 2;
decimal v = (a / b);


(utested)
en anden løsning kunne være at typecaste til decimal

int a = 1;
int b = 2;
decimal v = (decimal) (a / b);




Typisk vil du ønske at bruge double eller float fremfor decimal. Mange funktioner tager de to første men ikke det sidste, eksempler findes i System.Math klassen.

Og ja, du får et heltal fordi du dividerer to heltal.



i C er det sådan at når man deler 2 heltal med hinnanden får man et heltal så hvidt jeg husker.


(utested)
prøv at lave a eller b om til decimal

decimal a = 1.0;
int b = 2;
decimal v = (a / b);


(utested)
en anden løsning kunne være at typecaste til decimal

int a = 1;
int b = 2;
decimal v = (decimal) (a / b);


Tak for jeres svar. Jeg har brugt den med "
decimal a = 1.0m;
int b = 2;
decimal v = (a / b);"
Skal dog lige huske at skrive m bag kommatallet. Lidt irriterende at man ikke kan skrive et m bag en variabel der kommer til at indeholde et kommatal - feks

int a = 1;
int b = 3;
decimal v = (a/b)m;
men det funger bare ikke.
Venligst
Gorm







t