dezimalstellen

Status
Nicht offen für weitere Antworten.
M

martin1986

Gast
hallo! ich stehe nun vor einem neuen Problem und zwar möchte ich das ergebnis (kaufmännisch) auf 2 kommastellen runden.

ich habe im internet schon die eine oder andere lösung mit bigdecimal und dergleichen gelesen, weis aber nicht wie ich das in meinem prog implementieren kann.

vielen dank schon im vorraus

hier der prog code:

Code:
public class tempo {
	public static void main (String[] args) {
	int strecke = 300; //Entfernung Wien-Salzburg in Kilometern
	int zeit = 180; //volle Fahrzeit in Minuten
	double pause;
  pause = 40; //Pause in Minuten
	
	double zwischenergebnis;
	zwischenergebnis = (strecke/ (zeit - pause));
	double endergebnis;
  endergebnis = zwischenergebnis*60 ;
  
  System.out.println 

		("Die Durchschnittsgeschwindigkeit betraegt  " + endergebnis + " km/h!");
	}
}

mfg

martin
 

EOB

Top Contributor
hi, schau dir mal DecimalFormat an. hier ein beispiel:

Code:
NumberFormat formatter = new DecimalFormat("0.00");
String s = formatter.format(-.567);

dann kann man noch mit # arbeiten...ist dann eine ebene allgemeiner.

gruesse
 

EOB

Top Contributor
tja, so wuerde ich sagen:

Code:
import java.text.DecimalFormat;
import java.text.NumberFormat;


public class tempo {
    public static void main(String[] args) {
        int strecke = 300; //Entfernung Wien-Salzburg in Kilometern
        int zeit = 180; //volle Fahrzeit in Minuten
        double pause;
        pause = 40; //Pause in Minuten
        
        double zwischenergebnis;
        zwischenergebnis = (strecke/ (zeit - pause));
        double endergebnis;
        endergebnis = zwischenergebnis*60 ;
        NumberFormat formatter = new DecimalFormat("0.00");
        String s = formatter.format(endergebnis); 
        System.out.println("Die Durchschnittsgeschwindigkeit betraegt  " + s + " km/h!");
    }
}

klassennamen werden in java GROSS geschrieben, also wenn, dann Tempo..nur so am rande.

viele gruesse
 

alephant

Mitglied
Hallo,
habe das auch ausprobiert und erhalte immer das Deutsche Format:

double ergebnis = 1.0/3;
NumberFormat formatter2 = new DecimalFormat("#,##0.00");
s = formatter2.format(ergebnis*10000);
System.out.println("1/3 auf 2 Nachkommastellen " + s);

Die Ausgabe ist dann:
1/3 auf 2 Nachkommastellen 3.333,33

statt 3,333.33

Wie kann ich das internationale Format verwenden?
 

alephant

Mitglied
Hey sorry meiner Ignoranz, aber Anfänger finden sich so schnell nicht zurecht. Ich hatte in der API nachgeschaut und auch die richtige Klasse gefunden, aber eben nicht alles verstanden. Daher frage ich ja nach. Also, ich habe das sofort ausprobiert:

Locale.ENGLISH

habe ich eingefügt.

Der Compiler will das ENGLISH nicht haben. Mit Locale scheint er keine Probleme zu haben. Leider habe ich in der api noch keine Suchfunktion gefunden. Sonst würde ich Locale nachschlagen. Muss ich da noch ein package importieren??
 

Leroy42

Top Contributor
Bei Aufruf der API werden alle Klassen nach Namen sortiert angezeigt.

Einfach im Frame links unten nach Locale scrollen dann wirst du sehen
daß es nicht die Konstante Locale.ENGLISH gibt sonder eine namens Locale......... :bae:
 
S

SlaterB

Gast
die API solltest du (nach einem Lehrbuch) als erstes kennenlernen,

wenn du einen Link wie den oben bekommst,
dann kann man sich da irgendwo zur Startseite durchklicken,

ein Link zur neuesten Version (mach mal Bookmark!):
http://java.sun.com/j2se/1.5.0/docs/api/

da kannst du mit einfacher Textsuche Locale finden,
import java.util.Locale; hilft natürlich,


aber mit Locale alleine kann DecimalFormat nix anfangen,
schaue dir wie gesagt alle möglichen Konstruktor.Parameter und set-Operationen an,
keine Angst, sind nur wenige

Tipp: manchmal auch die set-Operation der Superklassen, in diesem Fall nicht nötig
 

alephant

Mitglied
DANKE! Das hat geholfen!
Manchmal weiß man nicht welche Klasse man braucht und dann fängt man an sich durch Seiten um Seiten der api durchzuwühlen und wird nur frustriert. Da hilft es wirklich wenn jemanden einem die Nase auf die richtigen Stellen stupst.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben