如何存储大(10位)整数?

时间:2009-12-21 08:22:45

标签: java

哪种Java数据类型能够存储大数值,如9999999999?

9 个答案:

答案 0 :(得分:40)

您的具体示例可以存储在long(或java.lang.Long,如果有必要的话)。

如果您需要更大的数字,可以尝试 java.math.BigInteger(如果是整数)或java.math.BigDecimal(如果是十进制)

答案 1 :(得分:30)

您可以将其存储在long中。 long可以存储从-92233720368547758089223372036854775807的值。

答案 2 :(得分:26)

除了所有其他答案之外,我还想指出,如果您想在Java代码中将该数字写为文字,则需要附加Ll告诉编译器它是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