Gå til innhold

C#: Inneholder float og double desimaler?


Anbefalte innlegg

Hei, jeg lurer egentlig på to ting.

 

1. Inneholder alltid float og double desimaler (da regner jeg med desimalen 0 også)? slik at

 

int i = 1

double d = 1.0

float f = 1.0

 

Blir det sånn?

 

2. Og hvordan kan jeg sjekke om en double eller float inneholder desimaler?

Lenke til kommentar
Videoannonse
Annonse

hehe, nå var du slem saboi :tease:

 

 

1)

 

1.0 == 1 == 1.0000000 == 1.000 <-- "Antall desimaler" avhenger kun av hvordan du velger å vise tallet. Spørsmålet ditt var noe snodig, men jeg tror jeg forstod riktig?

 

2)

 

public bool HasDecimals(float tall) // Sjekker om det har desimaler. Dvs. IKKE er et heltall.

{

return tall != (int)tall;

}

 

3)

 

Det "viktigste" som står i linken som ble postet er at float/double ikke er nøyaktige.

F.eks. at 2.15 * 10^12 egentlig blir lagret i variabelen som:

2.1499999999999999875 * 10^12, og blir avrundet når du viser den på skjermen.

 

Resten er bare teori for spesielt intereserte og totalt unødvendig å vite for de fleste. Hvis du ikke har lyst til å bruke flere timer på å forstå akuratt hva som på bit-nivå gjør at det blir unøyaktig da :-P

Endret av jorn79
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...