Loại dữ liệu Java nào có thể lưu trữ một giá trị số lớn, như 9999999999?Làm cách nào để lưu trữ số nguyên lớn (10 chữ số)?
Trả lời
Ví dụ cụ thể của bạn có thể được lưu trữ trong long
(hoặc java.lang.Long
nếu điều này là cần thiết).
Nếu tại bất kỳ điểm nào bạn cần số lớn hơn, bạn có thể thử java.math.BigInteger
(nếu số nguyên), hoặc java.math.BigDecimal
(nếu chữ số thập phân)
Bạn có thể lưu trữ này trong long
. A long
có thể lưu trữ một giá trị từ -9223372036854775808
đến 9223372036854775807
.
cletus: lấy điểm, đã chỉnh sửa. –
Bản gốc dài hoặc java.lang.Long trình bao bọc cũng có thể lưu trữ mười chữ số.
+1 Dài có thể lưu trữ 18-19 chữ số với độ chính xác tuyệt đối. Trừ khi OP chỉ ra rằng họ cần nhiều hơn thế này, lâu dài là một lựa chọn tốt hơn nhiều so với BigInteger. – cletus
bạn có thể sử dụng dài hoặc gấp đôi.
Một đôi? Nếu ví dụ OP của '9999999999' là dấu hiệu, thì không cần phải giới thiệu sự không chính xác của dấu phẩy động cho một số nguyên. –
yup ben bên phải của bạn nhưng chỉ cho thấy anh ta, chúng tôi có thể sử dụng những điều này quá. Nó thực sự phụ thuộc vào yêu cầu kinh doanh của bạn. – akellakarthik
Ngoài tất cả các câu trả lời khác, tôi muốn lưu ý rằng nếu bạn muốn viết số đó dưới dạng chữ trong mã Java của mình, bạn cần phải thêm L
hoặc l
để thông báo cho trình biên dịch rằng đó là long
hằng số:
long l1 = 9999999999; // this won't compile
long l2 = 9999999999L; // this will work
Bạn có thể lưu trữ bằng cách tạo một đối tượng chứa số chuỗi giá trị để lưu trữ trong danh sách mảng. theo ví dụ: BigInt objt = new BigInt("999999999999999999999999999999999999999999999999999");
objt được tạo bởi hàm tạo của lớp BigInt. Bên trong lớp trông như thế.
BigInt{
ArrayList<Integer> myNumber = new ArrayList <Integer>();
public BigInt(){}
public BigInt(String number){ for(int i; i<number.length; i++){ myNumber.add(number.indexOf(i)); } }
}
Điều này hoàn toàn không liên quan. Anh ta không hỏi về mảng hoặc danh sách hoặc số có 52 chữ số thập phân. Nó thậm chí không biên dịch. – EJP
Sử dụng kiểu dữ liệu BigInt với các hoạt động ngầm định của nó. Điểm cộng cho nó là nó sẽ không đưa ra câu trả lời trong biểu diễn hàm mũ. Nó sẽ cho kết quả chiều dài đầy đủ
Dưới đây là một ví dụ bổ sung
BigInteger big1 = new BigInteger("1234567856656567242177779");
BigInteger big2 = new BigInteger("12345565678566567131275737372777569");
BigInteger bigSum = big1.add(big2);
System.out.println(bigSum);
Chào mừng bạn đến với Stack Overflow. nếu bạn tìm thấy bất kỳ câu hỏi tương tự ở bất kỳ đâu thì hãy đánh dấu câu hỏi đó là một bản sao thay vì đưa ra cùng một giải pháp một lần nữa. hoặc bạn có thể đưa ra một liên kết của câu trả lời của bạn được đăng trước đó. – Shell
- 1. Lưu trữ các số nguyên rất lớn trong MySQL
- 2. Làm cách nào để định dạng chuỗi gồm 10 chữ số thành số điện thoại?
- 3. Việc cần làm khi bạn cần số nguyên lớn hơn 20 chữ số trên mysql?
- 4. Tính số nguyên rất lớn
- 5. Cách tốt để lưu trữ các số nguyên duy nhất
- 6. Làm cách nào để lưu trữ số nguyên 64 bit chưa ký trong SQL Server?
- 7. Lưu trữ và làm việc với số lớn trong C
- 8. Làm cách nào để chọn chữ số thứ n trong một số nguyên lớn bên trong javascript?
- 9. Lưu trữ số nguyên tố lớn trong cơ sở dữ liệu
- 10. Loại dữ liệu lớn nhất để lưu trữ (và in) một số nguyên là gì?
- 11. Làm cách nào để lưu trữ một số nguyên trong bộ đệm của nút đệm?
- 12. Làm cách nào để lưu trữ một mảng số nguyên trong SharedPreferences?
- 13. Số nguyên lớn trong C#
- 14. Số nguyên cực kỳ lớn trong PHP
- 15. Làm cách nào để lặp qua các chữ số của một số nguyên?
- 16. Xác định một cách xác định xem một số lớn là số nguyên tố hay composite?
- 17. Làm thế nào để lưu trữ số lớn trong MongoDB với Node.js
- 18. Số học với số nguyên lớn tự do trong PHP
- 19. Erlang và số lớn
- 20. Làm thế nào để lưu trữ một số nguyên chủ trì của zeros trong django
- 21. Lưu số nguyên theo định dạng hai chữ số trong một biến trong Java
- 22. Cách thực hiện nhất để lưu trữ số lượng lớn các chuỗi tĩnh
- 23. Csvwrite với số lớn hơn 7 chữ số
- 24. Lấy chữ số thứ bảy từ số nguyên
- 25. Lưu trữ một số nguyên vào một char * trong C++
- 26. Làm thế nào để truy vấn số nguyên, nổi trong lucene và làm thế nào để lưu trữ (NumericComparator)?
- 27. asp.net mvc - nơi lưu trữ userid - số nguyên?
- 28. Lưu trữ các giá trị số nguyên như hằng số theo cách Enum trong java
- 29. literals số nguyên âm lớn
- 30. Làm thế nào để lưu trữ uuid dưới dạng số?
Những lớp này là rất chậm, và chỉ nên được sử dụng nếu bạn thực sự cần rất nhiều chữ số. 10 chữ số có thể dễ dàng được lưu trữ trong một "dài". Tuy nhiên, bạn cần 50 đến 5000 chữ số, hai lớp này là cách tốt nhất để làm điều đó. – Karl
khá chính xác .. Tôi theo bản năng cho rằng anh ta đã thử sự hiển nhiên và không thành công. Đã chỉnh sửa câu trả lời của tôi để câu trả lời đúng. – Bozho