Gå til innhold

Utregning med heltall


Anbefalte innlegg

Skrevet (endret)

// Beregning av kvotient av to desimaltall
import static javax.swing.JOptionPane.*;
class oppgave3131 {
public static void main(String[] args) {
	String tellerLest = showInputDialog("Tall i teller: ");
	String nevnerLest = showInputDialog("Tall i nevner: ");
	double teller = Double.parseDouble(tellerLest);
	double nevner = Double.parseDouble(nevnerLest);
	double svar = teller / nevner;
	showMessageDialog(null, "Kvotienten blir " + svar + " i utregningen");
}
}

 

Denne er med desimaltall. Men skal ha den til å regne ut i heltall, hvordan blir det egentlig? Har prøvd å endre double til int, men får bare en haug med feilmeldinger.

Endret av Gordion
Videoannonse
Annonse
Skrevet
Det er vel ca 100 år siden jeg drev med java, men la meg tenke over saken litt.

 

Red.:

 

DecimalFormat form = new DecimalFormat("0");

double enDouble = 3456.5434256;

System.out.println(form.format(enDouble));

 

Prøv den der.

Skrevet

Skal man bare skifte fra desimaler til heltall vil avrunding bli gjort korrekt, om derimot oppgaven spesifikt sier at avrunding ikke skal skje etter de normene som er satt blir det feil ja. ;)

 

Men ser ikke noe om det i forespørselen.

Skrevet

Den korrekte måten å gjøre det på, er å bruke Math.round. Det er to metoder, nemlig double->long og float->int. Siden du bruker double (du kunne like godt og kanskje heller brukt float), returnerer altså metoden en long.

 

// Beregning av kvotient av to desimaltall
import static javax.swing.JOptionPane.*;
class oppgave3131 {
public static void main(String[] args) {
	String tellerLest = showInputDialog("Tall i teller: ");
	String nevnerLest = showInputDialog("Tall i nevner: ");
	double teller = Double.parseDouble(tellerLest);
	double nevner = Double.parseDouble(nevnerLest);
	double svar = teller / nevner;
	showMessageDialog(null, "Kvotienten blir " + Math.round(svar) + " i utregningen");
}
}

  • 2 uker senere...
Skrevet

Nei, det runder av til nærmeste tidel, men jeg vil runde av til nærmeste halve.

 

andelFelt= ((solgteFelt / antallFeltTotalt) * 100)

 

Hvordan få andel felt i nærmeste halve?

Skrevet

Gang med to, rund, del på to?

public class Fem {
	private static float roundHalf(float f) {
			return Math.round(f*2)/2f;
	}
	public static void main(String[] args) {
			for (float i = 0; i < 2; i+= 0.1) {
					System.out.println(i + " = " + roundHalf(i));
			}
	}
}

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...