最後,經過三個月的休息後,我又回來參加課程了。一月初我休假了。然後我決定轉而學習其他學科,例如 HTML/CSS/Javascript。在這個過程中,我開始學習科技(servlet 和 JSP)。那時我已經完成了24級,對內部課程有點卡住了——不是有什麼不清楚,只是所學到的知識必須系統化,因為太多是短時間內學到的。在“馳騁歐洲”模式中。所以,現在我決定仔細閱讀Horstman第一卷,鞏固我對Java Core的知識,同時完成前面層級的剩餘任務,然後繼續進行層級。我從第 15 級關於階乘的獎金問題開始。處理完這個問題後,我決定深入研究 BigDecimal 類。我在網路上沒有找到任何特別受歡迎的文章,所以我查看了文檔,其中的第一段立即讓我思考,不知為何,其中的所有內容都不是很清楚。我決定要查個水落石出,為了不讓自己的工作白費,我把所有的東西都整理成文章的形式,現在發到社區里大家交流一下,也許可以對某人有幫助。所以我把第一段分成句子。裡面只有5句話。第 3 和第 4 句加了下劃線,並移至段落末尾(為什麼我這樣做 - 請繼續閱讀)。並按照這個改變的順序進行了相應的翻譯。 原文第一段
- 不可變的、任意精確度的符號十進制數。
- BigDecimal 由任意精確度整數未縮放值和 32 位元整數小數位數組成。
- 如果為零或正數,則小數位數是小數點右邊的位數。
- 如果為負,則該數字的未縮放值乘以 10 的縮放負次方。
- 因此,BigDecimal 表示的數字值為 ( unscaledValue × 10 -scale )。
- 不可變的、任意精確度的符號十進制數。
- BigDecimal 由任意精確度整數未縮放值和 32 位元整數小數位數組成。
- 因此,BigDecimal 表示的數字值為 ( unscaledValue × 10 -scale )。
- 如果為零或正數,則小數位數是小數點右邊的位數。
- 如果為負,則該數字的未縮放值乘以 10 的縮放負次方。
- 這些是不可變的小數1十進制數,符號為2,任意長度34。
- BigDecimal 數字由兩個參數指定。其中第一個,即所謂的。未縮放值是無限長度的整數。僅知道這個參數,就無法說出有關 BigDecimal 數字的實際值的任何資訊。為此,您必須知道第二個參數 - 一個稱為“scale”的 32 位元整數。
- 然後可以使用以下公式計算 BigDecimal 數的值: unscaledValue × 10 -scale
- 如果 BigDecimal 為零或正數,則小數位數為小數點後的位數。
- 如果 BigDecimal 為負數,則其未縮放的值將乘以 10 的冪,並帶有負號。
翻譯註釋 1. 小數,因為「任意精度」除其他外包括: 這些是精確的數字,精確的數字必須有小數點, 換句話說 - 分數。 2. 那就是 可以是正的也可以是負的。 3. 任意長度,因為「任意精度」也意味著 “任意數量的數字。” 4. 事實上,BigDecimal 數字是實數。但安裝 不同的設置,您不僅可以在科學計算中使用它們, 以及金融領域。所以,劃線的句子對我來說是主要的困惑因素——我實際上會把它們從文本中刪除,因為事實上它們是關於同一件事的,而且,它們與第5 句中所說的事情是關於同一件事的。那些。連續三個句子只表示未縮放的值乘以 10 的冪,等於帶有負號的縮放。當你第一次讀到它的時候,這會讓人感到困惑,因為當你讀第3句時,你明白,既然有if,那就意味著這裡會有一件事,而下一句中會有別的東西。但不,這兩個句子說的是同一件事,只是用詞不同。好吧,關於同一件事的連續第三句話(段落中的最後一個)可能就像一個控制鏡頭。目前還不清楚為什麼文本會以如此混亂的方式編寫,因為最後一句話中的 公式unscaledValue × 10 -scale盡可能清晰、明確和全面地給出了大數的定義。
GO TO FULL VERSION