behalten habe Ich habe mich gefragt und gefunden viele Möglichkeiten, .0 aus Doppel zu entfernen, wenn die Formatierung zu Zeichenketten, aber nie gefunden, wie man Zeug für Preise zu halten.Wie man Nullen von Double nach Gleitkomma
DecimalFormat format = new DecimalFormat();
format.setDecimalSeparatorAlwaysShown(false);
switch (position){
case 0:price = 11.90;break;
case 1:price = 1.2;break;
case 2:price = 1.002;break;
case 3:price = 1.0000;break;
}
System.out.println(format.format(price));
// 11.9
// or 1.2
// or 1.002
// or 1
aber was ich brauche, ist womthing wie diese
// 11.90
// 1.2
// or 1.002
// or 1
Dies ist kein Duplikat da, dass man 00 bis jeden Preis hinzufügen wird, die ich nicht will ... ich nur bin auf der Suche um den Gleitpunkt zu entfernen, wenn nach ihm Nullen vorhanden sind, aber wenn eine Zahl vorhanden ist, Null zu behalten.
z.B.
1.0, 1.00 or 1.00000
should print out 1
aber
1.90, 1.900 or 1.90000
should print out the same 1.90, 1900 or 1.900000
Sie wirklich [sollte nicht 'double' für Währung verwenden] (http://stackoverflow.com/questions/3730019/why-not-use-double-oder-float-to-währung) an erster Stelle. – azurefrog
Möglicherweise müssen Sie das Format zur gleichen Zeit angeben, zu der Sie den Preis angeben, und zwar sowohl im Switch-Case als auch im Switch-Fall. Weil es in den von Ihnen angegebenen Druckformaten nicht wirklich ein Muster gibt.Oder drucken Sie sie als Zeichenfolgen und nicht als Doppel. – AntonH
@AntonH das Muster, nach dem ich suche, ist das Entfernen der Gleitkommazahl "." nur wenn es nicht da ist also keine nummer mit x.0, x.00 oder x.0000000 wird x aber x.20 wird x.20 sein –