Avatar billede ddobbeltv Nybegynder
08. januar 2004 - 14:17 Der er 3 kommentarer og
1 løsning

Decimal tal i C#

Hvorfor returnere nogen af dem her ikke "0.1":

int test = 10/100;
decimal test = 10/100;
double test = 10/100;
float test = 10/100;

Hvad skal jeg ellers bruge for at kunne returnere decimal tal ???

mvh
Jacob Jensen
Avatar billede mufoxe Nybegynder
08. januar 2004 - 14:27 #1
Sikkert fordi 10 og 100 opfattes som heltal. Dermed får du implicit et heltal ud af udregning. Hvis du nu prøver med 10.0 / 100.0 i stedet.
Avatar billede arne_v Ekspert
08. januar 2004 - 14:31 #2
mufoxe har helt ret.

C# laver integer division når begge tal er int (ligesom C/C++ og Java,
modsat VB og Pascal).

Du skal bare lave et af tallene til decimal, så virker det.

double test = 10/100.0;
double test = 10.0/100;
double test = 10/(double)100;
double test = ((double)10)/100;
Avatar billede chries Nybegynder
08. januar 2004 - 14:33 #3
prøv
decimal test = 1m/100m;
Avatar billede ddobbeltv Nybegynder
08. januar 2004 - 14:44 #4
mange tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester