Heim > Java > javaLernprogramm > Wie kann ich Dezimalstellen in Double-Variablen genau anpassen?

Wie kann ich Dezimalstellen in Double-Variablen genau anpassen?

DDD
Freigeben: 2024-12-06 15:13:15
Original
451 Leute haben es durchsucht

How Can I Accurately Adjust Decimal Places in Double Variables?

Überwindung der Ungenauigkeit der Dezimalstellen bei Doppelstellen

Bei der Arbeit mit Doppelstellen besteht häufig die Notwendigkeit, die Dezimalstellen genau anzupassen. Ein häufiges Missverständnis ist, dass die wiederholte Multiplikation mit 0,1 oder einem ähnlichen Bruch ausreicht. Dies kann jedoch aufgrund der ungenauen Darstellung solcher Werte im Doppelformat zu erheblichen Rundungsfehlern führen.

Ein genauerer Ansatz besteht darin, ganzzahlige Multiplikatoren und Divisionen zu verwenden und dabei die Tatsache auszunutzen, dass ganze Zahlen präzise dargestellt werden können. Wenn Sie beispielsweise durch 100 dividieren, wie unten gezeigt, wird die Dezimalstelle effektiv nach rechts verschoben:

double x = 1234;
x /= 100;
Nach dem Login kopieren

Es ist jedoch zu beachten, dass die Division durch eine ganze Zahl zwar die zusammengesetzten Rundungsfehler beseitigt, dies jedoch nicht vollständig tut Rundungsungenauigkeiten beseitigen. Gleitkomma-Arithmetik führt unabhängig von der verwendeten Methode von Natur aus zu einer kleinen Rundung bei der Berechnung.

Um eine exakte Dezimaldarstellung zu erhalten, kann man die Verwendung von BigDecimal in Betracht ziehen, einer Klasse in der Java-API, die Arithmetik mit beliebiger Genauigkeit bereitstellt . BigDecimal behält intern den genauen Wert bei und eliminiert so Rundungsfehler, die bei Gleitkommaberechnungen auftreten können.

Das obige ist der detaillierte Inhalt vonWie kann ich Dezimalstellen in Double-Variablen genau anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage