pesten Skrevet 22. desember 2004 Del Skrevet 22. desember 2004 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
saboi Skrevet 22. desember 2004 Del Skrevet 22. desember 2004 http://docs.sun.com/source/806-3568/ncg_goldberg.html hvis du leser og forstår den artikkelen, så svarer det på spørsmålene dine. Lenke til kommentar
j000rn Skrevet 23. desember 2004 Del Skrevet 23. desember 2004 (endret) hehe, nå var du slem saboi 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 23. desember 2004 av jorn79 Lenke til kommentar
GeirGrusom Skrevet 27. desember 2004 Del Skrevet 27. desember 2004 faktisk så er det enkelte verdier som ikke kan vises i float og double, som 200.0 = 199.999999999999997 og lignende. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå