Zahlenformate
Kay
- java
Hallo,
ich hätte zwei Fragen:
1. Ich möchte eine double-Zahl (Ergebnis einer Division) runden lassen. Wenn ich die round-Funktion benutze, bekomme ich eine int-Zahl mit 0 Kommastellen heraus. Wie kann ich aber eine double-Zahl z.B. auf 2 oder 3 Kommastellen genau runden lassen?
2. Ich habe ein Datum als long-Wert vorliegen. Wie mache ich daraus eine Zeichenkette der Form dd.mm.yyyy?
Vielen Dank, Kay
Hallo,
ich hätte zwei Fragen:
- Ich möchte eine double-Zahl (Ergebnis einer Division) runden lassen. Wenn ich die round-Funktion benutze, bekomme ich eine int-Zahl mit 0 Kommastellen heraus. Wie kann ich aber eine double-Zahl z.B. auf 2 oder 3 Kommastellen genau runden lassen?
import java.math.*;
class test1 {
public static void main(String[] args) {
double d = 1.23456789;
//runden auf 2 Stellen
double dr = ((int)(d*1e2+.5))/(double)1e2;
System.out.println(dr);
//runden auf 3 Stellen
dr = ((int)(d*1e3+.5))/(double)1e3;
System.out.println(dr);
//runden auf 4 Stellen
dr = ((int)(d*1e4+.5))/(double)1e4;
System.out.println(dr);
//oder http://java.sun.com/j2se/1.3/docs/api/java/math/BigDecimal.html
BigDecimal bd = new BigDecimal(d);
//runden auf 2 Stellen
BigDecimal bdr = bd.setScale(2, BigDecimal.ROUND_HALF_EVEN);
System.out.println(bdr);
//runden auf 3 Stellen
bdr = bd.setScale(3, BigDecimal.ROUND_HALF_EVEN);
System.out.println(bdr);
//runden auf 4 Stellen
bdr = bd.setScale(4, BigDecimal.ROUND_HALF_EVEN);
System.out.println(bdr);
}
}
- Ich habe ein Datum als long-Wert vorliegen. Wie mache ich daraus eine Zeichenkette der Form dd.mm.yyyy?
Zeige doch mal Dein Datum als long-Wert. Das kann ich mir nämlich nicht so recht vorstellen. Ansonsten:
import java.util.*;
import java.text.*;
class test {
public static void main(String[] args) {
Date d = new Date();
System.out.println(new SimpleDateFormat("E, dd.MM.yyyy").format(d));
}
}
viele Grüße
Axel
Hallo,
- Ich habe ein Datum als long-Wert vorliegen. Wie mache ich daraus eine Zeichenkette der Form dd.mm.yyyy?
Zeige doch mal Dein Datum als long-Wert. Das kann ich mir nämlich nicht so recht vorstellen.
Könnte die Anzahl der Sekunden oder Millisekunden seit 1900 oder 1970
sein. Könnte aber auch was ganz anderes sein.
Die Klasse java.util.Date hat einen Konstruktor, der einen long-Wert
annimmt. Dieser Wert muß die Anzahl der Millisekunden seit 1970
beinhalten. Hat man einen Wert auf anderer Basis, muß man ggf. umrechen.
Gruß
Slyh
Könnte die Anzahl der Sekunden oder Millisekunden seit 1900 oder
1970 sein.
Genauso ist es - vielen Dank für den Tipp!
Hab's mit diesem Konstruktor hinbekommen.
MfG, Kay
Hi,
vielen Dank für den Code - es läuft!!!
MfG, Kay