JavaRush /Java Blog /Random-JA /BigDecimal 数値についてもう少し詳しく
grishin
レベル 27
Харьков

BigDecimal 数値についてもう少し詳しく

Random-JA グループに公開済み
ようやく 3 か月の休暇を経て、コースの受講に戻ります。1月初めにお休みを頂きました。その後、HTML/CSS/JavaScript などの他の分野の学習に切り替えることにしました。その過程で、私はテクノロジー (サーブレットと JSP) を学び始めました。その時点で、私は 24 レベルを完了しており、内部クラスで少し行き詰まっていました。何も不明な点があったわけではなく、短期間で得た知識が多すぎたので、得た知識を体系化する必要があっただけでした。 「ヨーロッパ横断ギャロップ」モードで。そこで、Horstman の第 1 巻を注意深く読んで Java コアの知識を定着させ、同時に前のレベルの残りのタスクを完了してから、次のレベルに進むことにしました。階乗に関するレベル15からのボーナス問題から始めました。これに対処した後、BigDecimal クラスを詳しく調べることにしました。インターネット上で特に人気のある記事が見つからなかったので、ドキュメントを調べましたが、その最初の段落を見て、どういうわけか内容がすべて明確ではないのではないかとすぐに思いました。私は真実の真相に迫ろうと決意し、これまでの努力が無駄にならないよう、すべてを記事の形にまとめ、意見交換のためにコミュニティに投稿しています。誰かの役に立つこと。そこで、最初の段落を取り出して文に分解しました。たった5文しかありません。文番号 3 と 4 には下線が引かれ、段落の最後に移動されました (なぜこれを行ったのか - 読み続けてください)。そして、この変更された順序に従って翻訳が行われました。 元の最初の段落
  1. 不変の任意精度の符号付き 10 進数。
  2. BigDecimal は、スケールなしの任意精度整数値と 32 ビット整数スケールで構成されます。
  3. 0 または正の場合、スケールは小数点の右側の桁数になります。
  4. 負の場合、スケールなしの数値に 10 のスケールの否定乗が乗算されます。
  5. したがって、BigDecimal で表される数値の値は ( unscaledValue × 10 -scale ) となります。
文の順序を並べ替えた原文
  1. 不変の任意精度の符号付き 10 進数。
  2. BigDecimal は、スケールなしの任意精度整数値と 32 ビット整数スケールで構成されます。
  3. したがって、BigDecimal で表される数値の値は ( unscaledValue × 10 -scale ) となります。
  4. 0 または正の場合、スケールは小数点の右側の桁数になります。
  5. 負の場合、スケールなしの数値に 10 のスケールの否定乗が乗算されます。
拡張翻訳 (翻訳内の各ポイントは原文のポイントに対応します)
  1. これらは、符号2を持つ、任意の長さ34の不変の小数1 10進数です。
  2. BigDecimal 数値は 2 つのパラメータで指定されます。それらの最初のもの、いわゆる。スケーリングされていない値は、長さが無制限の整数です。このパラメータだけを知っているだけでは、BigDecimal 数値の実際の値については何も言えません。これを行うには、2 番目のパラメータ、scale と呼ばれる 32 ビット整数を知っている必要があります。
  3. 次に、BigDecimal 数値の値は、次の式を使用して計算できます: unscaledValue × 10 -scale
  4. BigDecimal が 0 または正の場合、スケールは小数点以下の桁数になります。
  5. BigDecimal が負の場合、スケールなしの値は、スケールに等しいべき乗の 10 をマイナス記号で乗算します。
翻訳メモ
1. 分数。「任意精度」には、とりわけ以下のものが含まれるため、
   これらは正確な数値であり、正確な数値には小数点が必要であること、
   言い換えれば、分数です。
2.つまり ポジティブにもネガティブにもなり得ます。
3. 任意の長さ。「任意の精度」にも意味があるため
   「任意の桁数。」
4. 実際、BigDecimal 数値は実数です。しかし、インストールする
   さまざまな設定を使用すると、科学計算だけでなく、
   そして金融面でも。
したがって、下線を引いた文が私にとって主な混乱要因でした。実際、これらはほぼ同じ内容であり、さらに、文番号 5 で言われていることとほぼ同じであるため、実際には本文から削除することにします。それらの。連続した 3 つの文では、スケールなしの値に 10 をマイナス記号を付けてスケールに等しい累乗で乗算することだけが示されています。これは、最初に読んだときは混乱します。なぜなら、文番号 3 を読むと、if があるということは、ここには 1 つのものがあり、次の文には別のものが存在することを意味すると理解できるからです。しかし、いいえ、どちらの文も言葉が違うだけで同じことを言っています。そうですね、同じことについて続けて書かれている 3 番目 (段落の最後) の文は、おそらくコントロール ショットのようなものです。最後の文の 式unscaledValue × 10 -scale は、大きな数値の定義をできるだけ明確に、明確かつ包括的に示しているため、テキストがなぜこのように混乱する方法で編集されたのかは不明です。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION