JavaRush /Java-Blog /Random-DE /Etwas ausführlicher über BigDecimal-Zahlen
grishin
Level 27
Харьков

Etwas ausführlicher über BigDecimal-Zahlen

Veröffentlicht in der Gruppe Random-DE
Nach einer dreimonatigen Pause nehme ich endlich wieder an dem Kurs teil. Ich habe Anfang Januar eine Pause gemacht. Ich habe mich dann entschieden, auf andere Disziplinen wie HTML/CSS/Javascript umzusteigen. Unterwegs begann ich, Technologien (Servlets und JSP) zu erlernen. Zu diesem Zeitpunkt hatte ich 24 Level abgeschlossen und war ein wenig in den internen Kursen hängen geblieben – nicht, dass irgendetwas unklar gewesen wäre, sondern nur, dass das erworbene Wissen systematisiert werden musste, da zu viel davon in kurzer Zeit erworben worden war im Modus „Galopp durch Europa“. Deshalb habe ich mich nun entschlossen, den ersten Band von Horstman sorgfältig durchzugehen, um meine Kenntnisse über Java Core zu festigen und gleichzeitig die verbleibenden Aufgaben aus den vorherigen Levels zu erledigen, und dann mit den Levels fortzufahren. Ich habe mit der Bonusaufgabe ab Level 15 zum Thema Fakultät begonnen. Nachdem ich mich damit befasst hatte, beschloss ich, einen genaueren Blick auf die BigDecimal-Klasse zu werfen. Ich habe im Internet keine besonders beliebten Artikel gefunden, also habe ich mir die Dokumentation angesehen und der erste Absatz darin brachte mich sofort zum Nachdenken, irgendwie war darin nicht alles klar. Ich habe beschlossen, der Wahrheit auf den Grund zu gehen, und damit meine Arbeit nicht umsonst war, habe ich alles in Form eines Artikels formatiert und veröffentliche ihn nun in der Community zum Meinungsaustausch, und vielleicht wird es das auch jemandem helfen. Also nahm ich den ersten Absatz und zerlegte ihn in Sätze. Es sind nur 5 Sätze drin. Die Sätze Nummer 3 und 4 wurden unterstrichen und an das Ende des Absatzes verschoben (warum ich das getan habe – lesen Sie weiter). Und die Übersetzung erfolgte entsprechend in dieser geänderten Reihenfolge. Ursprünglicher erster Absatz
  1. Unveränderliche, vorzeichenbehaftete Dezimalzahlen mit beliebiger Genauigkeit.
  2. Ein BigDecimal besteht aus einem unskalierten Ganzzahlwert mit beliebiger Genauigkeit und einer 32-Bit-Ganzzahlskala.
  3. Bei Null oder positiv ist die Skalierung die Anzahl der Stellen rechts vom Dezimalpunkt.
  4. Wenn er negativ ist, wird der unskalierte Wert der Zahl mit zehn hoch der Negation der Skala multipliziert.
  5. Der Wert der durch BigDecimal dargestellten Zahl ist daher ( unscaledValue × 10 -scale ).
Original mit geänderter Satzstellung
  1. Unveränderliche, vorzeichenbehaftete Dezimalzahlen mit beliebiger Genauigkeit.
  2. Ein BigDecimal besteht aus einem unskalierten Ganzzahlwert mit beliebiger Genauigkeit und einer 32-Bit-Ganzzahlskala.
  3. Der Wert der durch BigDecimal dargestellten Zahl ist daher ( unscaledValue × 10 -scale ).
  4. Bei Null oder positiv ist die Skalierung die Anzahl der Stellen rechts vom Dezimalpunkt.
  5. Wenn er negativ ist, wird der unskalierte Wert der Zahl mit zehn hoch der Negation der Skala multipliziert.
Erweiterte Übersetzung (jeder Punkt in der Übersetzung entspricht einem Punkt im Original)
  1. Dies sind unveränderliche gebrochene 1- Dezimalzahlen mit dem Vorzeichen 2 und der willkürlichen Länge 34 .
  2. Die BigDecimal-Zahl wird durch zwei Parameter angegeben. Der erste von ihnen, der sogenannte. Der unskalierte Wert ist eine Ganzzahl unbegrenzter Länge. Wenn man nur diesen Parameter kennt, kann man nichts über den tatsächlichen Wert der BigDecimal-Zahl sagen. Dazu müssen Sie den zweiten Parameter kennen – eine 32-Bit-Ganzzahl namens „scale“.
  3. Dann kann der Wert der BigDecimal-Zahl mit der folgenden Formel berechnet werden: unscaledValue × 10 -scale
  4. Wenn BigDecimal null oder positiv ist, ist die Skalierung die Anzahl der Stellen nach dem Dezimalpunkt.
  5. Wenn BigDecimal negativ ist, wird sein unskalierter Wert mit 10 multipliziert und auf eine Potenz erhöht, die der Skalierung mit einem Minuszeichen entspricht.
Übersetzungshinweise
1. Bruchzahl, weil „willkürliche Präzision“ unter anderem Folgendes umfasst:
   dass es sich um exakte Zahlen handelt und dass exakte Zahlen einen Dezimalpunkt haben müssen,
   mit anderen Worten - gebrochen.
2. Das ist kann sowohl positiv als auch negativ sein.
3. Beliebige Länge, denn „willkürliche Präzision“ bedeutet auch
   „Eine beliebige Anzahl von Ziffern.“
4. Tatsächlich sind BigDecimal-Zahlen reelle Zahlen. Aber installieren
   Verschiedene Einstellungen, Sie können sie nicht nur in wissenschaftlichen Berechnungen verwenden,
   und auch in finanzieller Hinsicht.
Die unterstrichenen Sätze waren für mich also der größte Verwirrungsfaktor – ich würde sie eigentlich einfach aus dem Text entfernen, weil es in Wirklichkeit um dasselbe geht und außerdem um dasselbe, was in Satz Nummer 5 gesagt wird. Diese. Drei Sätze hintereinander sagen nur, dass der unskalierte Wert mit 10 auf eine Potenz gleich der Skala mit einem Minuszeichen multipliziert wird. Das ist verwirrend, wenn man es zum ersten Mal liest, denn wenn man Satz Nummer 3 liest, versteht man, dass, da dort „if“ steht, es hier eine Sache geben wird und im nächsten Satz etwas anderes. Aber nein, beide Sätze sagen dasselbe, nur mit unterschiedlichen Worten. Nun, der dritte (letzte im Absatz) Satz in Folge über dasselbe Thema ist wahrscheinlich wie ein Kontrollschuss. Warum der Text so verwirrend zusammengestellt wurde, ist unklar, denn die Formel unscaledValue × 10 -scale aus dem letzten Satz gibt die Definition einer großen Zahl möglichst klar, eindeutig und umfassend wieder.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION