哪种Java数据类型能够存储大数值,如9999999999?
答案 0 :(得分:40)
您的具体示例可以存储在long
(或java.lang.Long
,如果有必要的话)。
如果您需要更大的数字,可以尝试
java.math.BigInteger
(如果是整数)或java.math.BigDecimal
(如果是十进制)
答案 1 :(得分:30)
您可以将其存储在long
中。 long
可以存储从-9223372036854775808
到9223372036854775807
的值。
答案 2 :(得分:26)
除了所有其他答案之外,我还想指出,如果您想在Java代码中将该数字写为文字,则需要附加L
或l
告诉编译器它是long
常量:
long l1 = 9999999999; // this won't compile
long l2 = 9999999999L; // this will work
答案 3 :(得分:8)
原始long或其java.lang.Long包装器也可以存储十位数。
答案 4 :(得分:6)
将BigInt数据类型与其隐式操作一起使用。它的加分是它不会以指数表示形式给出答案。它将给出全长结果
以下是添加
的示例 BigInteger big1 = new BigInteger("1234567856656567242177779");
BigInteger big2 = new BigInteger("12345565678566567131275737372777569");
BigInteger bigSum = big1.add(big2);
System.out.println(bigSum );
答案 5 :(得分:3)
你可以使用长或双。
答案 6 :(得分:0)
您可以通过创建一个包含字符串值编号的对象来存储,以存储在数组列表中。
例如:BigInt objt = new BigInt("999999999999999999999999999999999999999999999999999");
objt是由BigInt类的构造函数创建的。在课堂上看起来像。
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)); } }
}
答案 7 :(得分:0)
包装类java.lang.Long可以轻松存储10位数。
Long phoneNumber = 1234567890;
它也可以储存更多。
<强>文档强>
public final class Long extends Number implements Comparable<Long> {
/**
* A constant holding the minimum value a {@code long} can
* have, -2<sup>63</sup>.
*/
@Native public static final long MIN_VALUE = 0x8000000000000000L;
/**
* A constant holding the maximum value a {@code long} can
* have, 2<sup>63</sup>-1.
*/
@Native public static final long MAX_VALUE = 0x7fffffffffffffffL;
}
这意味着它可以将范围 9,223,372,036,854,775,807 的值存储到 -9,223,372,036,854,775,808 。
答案 8 :(得分:0)
如果您想接收用户输入,则应将其作为字符串,然后将其转换为 long。
//Take user input using Scanner class
Scanner sc = new Scanner(System.in);
String str = sc.next();
//Convert that to long
long num = Long.parseLong(str);
System.out.println(num); // This is not a string anymore