Dezimalzahlen - Hilfe

Ich weiss nicht, was ich jetzt schreiben soll. Können Sie mir dabei helfen?

"Implementieren Sie in dieser Klasse zunächst eine Klassenmethode „alsProzent“, die einen String-Wert zurückgibt und ein double und ein int als formale Parameter erhält. In dieser Methode sollen Sie nun einen formatierten String erstellen (und zurückgeben), der eine Prozentzahldarstellung des double-Wertes darstellt, wobei der int-Parameter die Anzahl an Nachkommastellen angeben soll. Verwenden Sie ein Komma als Dezimaltrennzeichen. Ein Aufruf alsProzent(0.12345,2) soll dabei den String „12,34%“ zurückgeben."

package prog1.printtools;

public class PrintTools {
public static void main(String[] args) {
public String alsProzent(double m, int n) {

}

// String Prozentzahldarstellung(double m) = String.format();
 
Auf die Prozentzahl solltest du selbst kommen, das ist trivial.
Und so kann man Anzahl der Nachkommastellen mit String.format festlegen:
Java:
        double d = 1.234567;
        System.out.println(String.format("%.2f", d));
 
String.format() verwendet HALF_EVEN Rundung. Somit kommt bei seinem Beispiel `0.12345` als Prozent mit zwei Nachkommastellen fälschlicherweise `12.35` heraus. Laut Beschreibung, soll `12.34` herauskommen.
Abhilfe kann DecimalFormat schaffen:
Java:
public static String nichtGanzAlsProzent(double v, int n) {
  NumberFormat df = DecimalFormat.getInstance();
  df.setMinimumFractionDigits(n);
  df.setMaximumFractionDigits(n);
  df.setRoundingMode(RoundingMode.HALF_UP);
  return df.format(v) + "%";
}
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben