Ich habe Probleme herauszufinden, wie meine a Doppel zu einem int in meinem POJO zu serialisieren. Im Moment mache ich schlampig die Konvertierung innerhalb der Setter-Methode. Die Doppel werden immer zwischen 0 und 1. Unterhalb die Getter und Setter-Methoden: In meinem POJO sind:Serialisierung von double zu einem int innerhalb von POJO
@JsonProperty("costMargin")
public int getCostMargin() {
return costMargin;
}
@JsonProperty("costMargin")
public void setCostMargin(double costMargin) {
this.costMargin = (int)(Math.round(costMargin * 100));
}
Kann jemand mir helfen herauszufinden, wie diese doppelten, in einem int serialisiert, ohne die Umwandlung in den Setter zu machen Methode? Ich versuche, andere Möglichkeiten zu untersuchen, wie das Erstellen einer Serialisierungsklasse und das Einfügen einer Anmerkung in meinem Pojo. Beispiel: @JsonSerialize (using = CustomDoubleSerializer.class)
Was bedeutet es, „zu einem Doppel eine Serialisierung int "? Was passiert, wenn der 'double' Wert für ein' int' zu groß ist? Sie müssen klären, was Sie erreichen möchten. Aus dem Code sieht es so aus, als ob Sie einen finanziellen Wert als skalierten Integer (d. H. Cent) speichern möchten. In diesem Fall funktioniert das, was Sie haben, solange Sie verstehen, wie das Runden einer Gleitkommazahl zu unerwarteten Ergebnissen führt. Sie sollten besser keinen Fließkommawert für Finanzdaten irgendwo in Ihrem Code verwenden, aber Sie haben diese Option möglicherweise nicht. –
Entschuldigung für die fehlende Einbeziehung von Details. Das Doppelte wird immer zwischen 0 und 1 sein. Und ich versuche, keine Berechnung innerhalb meiner Setter- oder Getter-Methoden außer Setzen und Erhalten zu haben. –