BigInteger
日本語 | 大十進整数クラス |
英語 | big integer |
ふりがな | びっぐいんてじゃー |
フリガナ | ビッグインテジャー |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.math.BigInteger。
整数値を格納するためのクラス。
桁数に関係なく扱うことができるため、long型よりも大きい整数値を扱う時には必須。
だが、多くの場合はlong型で間に合うことが多く、また割り算を行う場合等を考えるとBigDecimalクラスに統一した方がいい場合も多く、実際、あまり使われないクラスである。
BigIntegerクラスの文字列化にはDecimalFormatクラスが向いている。DecimalFormatクラスを使用することで、カンマを付けることができる。
整数値を格納するためのクラス。
桁数に関係なく扱うことができるため、long型よりも大きい整数値を扱う時には必須。
だが、多くの場合はlong型で間に合うことが多く、また割り算を行う場合等を考えるとBigDecimalクラスに統一した方がいい場合も多く、実際、あまり使われないクラスである。
BigIntegerクラスの文字列化にはDecimalFormatクラスが向いている。DecimalFormatクラスを使用することで、カンマを付けることができる。
参考サイト
// Sample.java
import java.math.BigInteger;
import java.text.DecimalFormat;
public class Sample
{
public static void main( String[] args )
{
// 出力フォーマットを用意しておきます。
String format = "0";
DecimalFormat decimalFormat = new DecimalFormat( format );
// BigIntegerクラスを作成します。
BigInteger bigInteger1 = new BigInteger( "100" );
BigInteger bigInteger2 = new BigInteger( "200" );
// add()メソッドで足します。
BigInteger bigIntegerResult = bigInteger1.add( bigInteger2 );
System.out.println( decimalFormat.format( bigIntegerResult ) );
// 300
// その他、四則演算や比較演算子が備わっています。
// 引き算( bigInteger1 - bigInteger2 )。
bigIntegerResult = bigInteger1.subtract( bigInteger2 );
System.out.println( decimalFormat.format( bigIntegerResult ) );
// -100
// 掛け算( bigInteger1 * bigInteger2 )。
bigIntegerResult = bigInteger1.multiply( bigInteger2 );
System.out.println( decimalFormat.format( bigIntegerResult ) );
// 20000
// 割り算( bigInteger2 / bigInteger1 )。
// 四捨五入モードで計算します。
bigIntegerResult = bigInteger2.divide( bigInteger1 );
System.out.println( decimalFormat.format( bigIntegerResult ) );
// 2
// 比較
int compareResult = bigInteger1.compareTo( bigInteger2 );
System.out.println( compareResult );
// -1
// bigInteger1 < bigInteger2 なのでマイナスになります。
}
}
import java.math.BigInteger;
import java.text.DecimalFormat;
public class Sample
{
public static void main( String[] args )
{
// 出力フォーマットを用意しておきます。
String format = "0";
DecimalFormat decimalFormat = new DecimalFormat( format );
// BigIntegerクラスを作成します。
BigInteger bigInteger1 = new BigInteger( "100" );
BigInteger bigInteger2 = new BigInteger( "200" );
// add()メソッドで足します。
BigInteger bigIntegerResult = bigInteger1.add( bigInteger2 );
System.out.println( decimalFormat.format( bigIntegerResult ) );
// 300
// その他、四則演算や比較演算子が備わっています。
// 引き算( bigInteger1 - bigInteger2 )。
bigIntegerResult = bigInteger1.subtract( bigInteger2 );
System.out.println( decimalFormat.format( bigIntegerResult ) );
// -100
// 掛け算( bigInteger1 * bigInteger2 )。
bigIntegerResult = bigInteger1.multiply( bigInteger2 );
System.out.println( decimalFormat.format( bigIntegerResult ) );
// 20000
// 割り算( bigInteger2 / bigInteger1 )。
// 四捨五入モードで計算します。
bigIntegerResult = bigInteger2.divide( bigInteger1 );
System.out.println( decimalFormat.format( bigIntegerResult ) );
// 2
// 比較
int compareResult = bigInteger1.compareTo( bigInteger2 );
System.out.println( compareResult );
// -1
// bigInteger1 < bigInteger2 なのでマイナスになります。
}
}
// Sample.java import java.math.BigInteger; import java.text.DecimalFormat; public class Sample { public static void main( String[] args ) { // 出力フォーマットを用意しておきます。 String format = "0"; DecimalFormat decimalFormat = new DecimalFormat( format ); // BigIntegerクラスを作成します。 BigInteger bigInteger1 = new BigInteger( "100" ); BigInteger bigInteger2 = new BigInteger( "200" ); // add()メソッドで足します。 BigInteger bigIntegerResult = bigInteger1.add( bigInteger2 ); System.out.println( decimalFormat.format( bigIntegerResult ) ); // 300 // その他、四則演算や比較演算子が備わっています。 // 引き算( bigInteger1 - bigInteger2 )。 bigIntegerResult = bigInteger1.subtract( bigInteger2 ); System.out.println( decimalFormat.format( bigIntegerResult ) ); // -100 // 掛け算( bigInteger1 * bigInteger2 )。 bigIntegerResult = bigInteger1.multiply( bigInteger2 ); System.out.println( decimalFormat.format( bigIntegerResult ) ); // 20000 // 割り算( bigInteger2 / bigInteger1 )。 // 四捨五入モードで計算します。 bigIntegerResult = bigInteger2.divide( bigInteger1 ); System.out.println( decimalFormat.format( bigIntegerResult ) ); // 2 // 比較 int compareResult = bigInteger1.compareTo( bigInteger2 ); System.out.println( compareResult ); // -1 // bigInteger1 < bigInteger2 なのでマイナスになります。 } }