【Java】チートシート【数値編】

スポンサーリンク

※このページにはプロモーションが含まれています。当サイトは各種アフィリエイトプログラムから一定の収益を得ています。

数値の範囲

整数型

  • byte -128~127
  • short -32,768 ~ 32,767
  • int -2,147,483,648 ~ 2,147,483,647
  • long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

 

float 32ビット単精度浮動小数点数

  • 負の値 -3.4028235E+38 ~ -1.401298E-45
  • 正の値 1.401298E-45 ~ 3.4028235E+38

 

double 64ビット倍精度浮動小数点数

  • 負の値 -1.79769313486231570E+308 ~ -4.94065645841246544E-324
  • 正の値 4.94065645841246544E-324 ~ 1.79769313486231570E+308

四則演算と剰余

result = num1 + num2;
result = num1 - num2;
result = num1 * num2;
result = num1 / num2;

// 剰余
result = num1 % num2;

絶対値

result = Math.abs(num);

乱数

result = Math.abs(num);
// 0~9をランダムに返す
result = rand.nextInt(10);

大小比較

// 大きい方
result = Math.max(num1, num2);
// 小さい方
result = Math.min(num1, num2);

丸目処理

// 切り上げ
result = Math.ceil(num);
// 切り捨て
result = Math.floor(num);
// 四捨五入
result = Math.round(num);

フォーマット

// カンマ区切り
NumberFormat nfNum = NumberFormat.getNumberInstance();
System.out.println(nfNum.format(12345.6789)); // 12,345.679

// 通貨
NumberFormat nfCur = NumberFormat.getCurrencyInstance();
System.out.println(nfCur.format(12345.6789)); // ¥12,346

// パーセント
NumberFormat nfPer = NumberFormat.getPercentInstance();
System.out.println(nfPer.format(0.97)); // 97%

型変換

// 数値 ⇒ 文字列
Integer.valueOf(num).toString();
Long.valueOf(num).toString();
Float.valueOf(num).toString();
Double.valueOf(num).toString();

// 文字列 ⇒ 数値
Integer.valueOf(str);
Long.valueOf(str);
Float.valueOf(str);
Double.valueOf(str);

BigDecimal

doubleやfloatでは計算結果に誤差が発生する場合がある。

正確な値で計算結果が必要な時はBigDecimalを使う

初期化

String s1 = "3.2";
int i1 = 3;
double d1 = 3.2;
float f1 = 5.1F;

BigDecimal bg1 = new BigDecimal(s1);
BigDecimal bg2 = new BigDecimal(i1);
BigDecimal bg3 = new BigDecimal(d1);
BigDecimal bg4 = new BigDecimal(f1);

// double、floatは誤差が出る
// Stringで初期化するのが無難
System.out.println(bg1); // 3.2
System.out.println(bg2); // 3
System.out.println(bg3); // 3.20000000000000017763568394002504646778106689453125
System.out.println(bg4); // 5.099999904632568359375

四則演算と剰余

// 加算
bg1.add(bg2);
// 減算
bg1.subtract(bg2);
// 乗算
bg1.multiply(bg2);
// 除算
bg1.divide(bg2);

// 剰余
bg1.remainder(bg2);

丸目処理

// 小数第一位で切り上げ
bg.setScale(0,BigDecimal.ROUND_UP);
// 小数第二位で切り上げ
bg.setScale(1,BigDecimal.ROUND_UP);
// 一の位で切り上げ
bg.divide(bg).setScale(0,BigDecimal.ROUND_UP).multiply(bg);

// 小数第一位で切り捨て
bg.setScale(0,BigDecimal.ROUND_DOWN);
// 小数第二位で切り捨て
bg.setScale(1,BigDecimal.ROUND_DOWN);
// 一の位で切り捨て
bg.divide(bg).setScale(0,BigDecimal.ROUND_DOWN).multiply(bg);

// 小数第一位で四捨五入
bg.setScale(0,BigDecimal.ROUND_HALF_UP);
// 小数第二位で四捨五入
bg.setScale(1,BigDecimal.ROUND_HALF_UP);
// 一の位で四捨五入
bg.divide(bg).setScale(0,BigDecimal.ROUND_HALF_UP).multiply(bg);

型変換

// BigDecimal ⇒ String
bg.toPlainString();
// BigDecimal ⇒ int
bg.intValue();
// BigDecimal ⇒ long
bg.longValue();
// BigDecimal ⇒ double
bg.doubleValue();

関連記事

【Java】チートシート

スポンサーリンク

Java