9

20 桁の数字を持っていますが、この数字を格納するためにどのデータ型がサポートされますか? ロング、ダブルを試しましたが、範囲外になりつつあります。

番号 = 48565664968483514466

次に、この数値を Base36 に変換してバーコードを生成する必要があります。

4

4 に答える 4

15
BigInteger:

このBigIntegerクラスは、保持するように要求されたデータのすべてのビットを保持するために必要なだけのメモリを割り当て、Java のすべてのプリミティブ整数演算子と関連するすべてのメソッドに類似した操作を提供します。java.lang.Math.

次のように宣言します。

BigInteger bi1 =  new BigInteger("12345678900123");
于 2014-09-15T15:41:29.880 に答える
4

数値を base 36 に変換するには:

BigInteger number = new BigInteger("48565664968483514466");
String numberInBase36 = number.toString(36);
System.out.println(numberInBase36);
于 2014-09-15T15:57:10.097 に答える
2

new BigInteger(number) を使用しようとすると、int 型のリテラルが範囲外です

あなたが探している構文は

BigInteger n = new BigInteger("48565664968483514466");

Stringプリミティブ整数リテラルはこれほど大きな数を保持できないため、数値リテラルを として使用します。

于 2014-09-15T15:46:36.357 に答える
0
BigInteger i = new BigInteger("48565664968483514466");
于 2014-09-15T15:45:42.897 に答える