Ich habe die folgende Funktion, und ich kann den double
Typ der Parameter nicht ändern.Wie kann ich Double als Funktionsparameter verwenden, ohne die Präzision zu verlieren?
double latitude = coordinate.x;
double longitude = coordinate.y;
createEPoint(latitude, longitude));
Die Vars Breite und Länge hat eine große Anzahl von Dezimalstellen (35,94777225005756), und ich brauche seine Präzision zu halten. Ich weiß, dass ich oder andere Klassen verwenden könnte, aber wie gesagt, ich kann die Parameter von createEPoint(double lat, double lon)
nicht ändern.
Inzwischen, wenn ich die Parameter von EPoint bekomme, werden die Werte für den Längen- und Breitengrad automatisch gerundet, hast du irgendwelche Ideen, das zu vermeiden und die Genauigkeit der Zahlen zu behalten?
Nun, wenn Doppel-Genauigkeit verliert dann können Sie nicht viel darüber hinaus ändern den Typ der Parameter. – Thomas
Dann ist die @Deprecated Annotation sehr praktisch. Überlege dir also deine Methode zu überladen. –
Wenn du doppelte akzeptieren musst, dann ist es schon zu spät. Es gibt keinen magischen Weg, mehr Präzision von einem Double zu bekommen, als es bei der Eingabe war. – khelwood