JavaRush /Blog Java /Random-VI /Tìm hiểu sâu hơn một chút về số BigDecimal
grishin
Mức độ
Харьков

Tìm hiểu sâu hơn một chút về số BigDecimal

Xuất bản trong nhóm
Cuối cùng, sau 3 tháng nghỉ ngơi, tôi quay lại tham gia khóa học. Tôi đã đi nghỉ vào đầu tháng Giêng. Sau đó tôi quyết định chuyển sang học các ngành khác, chẳng hạn như HTML/CSS/Javascript. Trong quá trình đó, tôi bắt đầu học các công nghệ (servlet và JSP). Lúc đó tôi đã hoàn thành 24 cấp độ và hơi mắc kẹt với các lớp nội bộ - không phải là không rõ ràng, chỉ là kiến ​​thức thu được phải hệ thống hóa, vì đã tiếp thu quá nhiều trong thời gian ngắn. ở chế độ “phi nước đại khắp châu Âu”. Vì vậy, bây giờ tôi quyết định xem kỹ tập đầu tiên của Horstman để củng cố kiến ​​thức của mình về Java Core, đồng thời hoàn thành các nhiệm vụ còn lại từ các cấp độ trước, sau đó chuyển sang các cấp độ khác. Tôi bắt đầu với vấn đề tiền thưởng từ cấp 15 về giai thừa. Sau khi giải quyết xong, tôi quyết định xem xét sâu hơn về lớp BigDecimal. Tôi không tìm thấy bất kỳ bài viết đặc biệt phổ biến nào trên internet, vì vậy tôi đã xem tài liệu và đoạn đầu tiên trong đó ngay lập tức khiến tôi nghĩ, không hiểu sao mọi thứ trong đó đều không rõ ràng. Tôi quyết định đi đến tận cùng sự thật, và để công việc của mình không trở nên vô ích, tôi đã định dạng mọi thứ dưới dạng một bài viết và bây giờ tôi đăng lên cộng đồng để trao đổi ý kiến, và có thể nó sẽ làm được. giúp ích được cho ai đó. Vì vậy tôi lấy đoạn đầu tiên và chia nó thành các câu. Trong đó chỉ có 5 câu. Câu số 3 và 4 được gạch chân và chuyển xuống cuối đoạn văn (tại sao tôi làm như vậy - đọc tiếp). Và bản dịch đã được thực hiện theo thứ tự đã thay đổi này. Đoạn đầu tiên gốc
  1. Số thập phân có chữ ký bất biến, có độ chính xác tùy ý.
  2. BigDecimal bao gồm một giá trị số nguyên có độ chính xác tùy ý không chia tỷ lệ và thang số nguyên 32 bit.
  3. Nếu bằng 0 hoặc dương thì thang đo là số chữ số ở bên phải dấu thập phân.
  4. Nếu âm, giá trị chưa chia tỷ lệ của số được nhân với lũy thừa âm của thang đo với mười.
  5. Do đó, giá trị của số được biểu thị bằng BigDecimal là ( unscaledValue × 10 -scale ).
Bản gốc với thứ tự câu được sắp xếp lại
  1. Số thập phân có chữ ký bất biến, có độ chính xác tùy ý.
  2. BigDecimal bao gồm một giá trị số nguyên có độ chính xác tùy ý không chia tỷ lệ và thang số nguyên 32 bit.
  3. Do đó, giá trị của số được biểu thị bằng BigDecimal là ( unscaledValue × 10 -scale ).
  4. Nếu bằng 0 hoặc dương thì thang đo là số chữ số ở bên phải dấu thập phân.
  5. Nếu âm, giá trị chưa chia tỷ lệ của số được nhân với lũy thừa âm của thang đo với mười.
Bản dịch mở rộng (mỗi điểm trong bản dịch tương ứng với một điểm trong bản gốc)
  1. Đây là các số thập phân 1 phân số bất biến có dấu là 2 , có độ dài tùy ý 34 .
  2. Số BigDecimal được chỉ định bởi hai tham số. Đầu tiên trong số họ, cái gọi là. giá trị không chia tỷ lệ là số nguyên có độ dài không giới hạn. Chỉ biết tham số này thì không thể nói gì về giá trị thực của số BigDecimal. Để làm điều này, bạn phải biết tham số thứ hai - số nguyên 32 bit được gọi là tỷ lệ.
  3. Sau đó, giá trị của số BigDecimal có thể được tính bằng công thức sau: unscaledValue × 10 -scale
  4. Nếu BigDecimal bằng 0 hoặc dương thì thang đo là số chữ số sau dấu thập phân.
  5. Nếu BigDecimal âm, giá trị chưa chia tỷ lệ của nó sẽ được nhân với 10, nâng lên lũy thừa bằng tỷ lệ với dấu trừ.
Ghi chú dịch thuật
1. Phân số, bởi vì “độ chính xác tùy ý” bao gồm, trong số những thứ khác,
   rằng đây là những con số chính xác và những con số chính xác phải có dấu thập phân,
   nói cách khác - phân số.
2. Đó là có thể vừa tích cực vừa tiêu cực.
3. Độ dài tùy ý, vì “độ chính xác tùy ý” cũng có nghĩa là
   "Một số chữ số tùy ý."
4. Trên thực tế, số BigDecimal là số thực. Nhưng cài đặt
   các cài đặt khác nhau, bạn có thể sử dụng chúng không chỉ trong các tính toán khoa học,
   và cả về mặt tài chính.
Vì vậy, những câu được gạch chân là yếu tố gây nhầm lẫn chính đối với tôi - thực ra tôi sẽ xóa chúng khỏi văn bản, bởi vì trên thực tế, chúng có cùng một nội dung, và ngoài ra, chúng còn về cùng một nội dung được nói trong câu số 5. Những thứ kia. ba câu liên tiếp chỉ nói rằng giá trị chưa chia tỷ lệ được nhân với 10 nâng lên lũy thừa bằng tỷ lệ với dấu trừ. Điều này khiến bạn bối rối khi đọc lần đầu, vì khi đọc câu số 3, bạn hiểu rằng vì có if nên nghĩa là ở đây sẽ có một thứ, và ở câu tiếp theo sẽ có một thứ khác. Nhưng không, cả hai câu đều nói cùng một điều, chỉ bằng những từ khác nhau. Chà, câu thứ ba (cuối cùng trong đoạn) liên tiếp về cùng một thứ có lẽ giống như một phát súng kiểm soát. Không rõ tại sao văn bản lại được biên soạn theo cách khó hiểu như vậy, bởi vì công thức unscaledValue × 10 -scale từ câu cuối cùng đưa ra định nghĩa về số lượng lớn một cách rõ ràng, rõ ràng và toàn diện nhất có thể.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION