BigDecimal型で整数部分だけを扱いたい場合
仕事のプログラムで
入力項目が整数7桁小数1桁
出力項目が整数7桁
の仕組みでかつ、入力項目が整数値の場合のみ、出力項目へ
遷移させるという仕様にであった。
ともに使う属性はDecimalで実施する。
入力項目の入力チェックをかけたあとに値の遷移をさせようとするのだが、
入力項目に小数が入っているという制約に困ったので、以下のソースのようにして
対応。
import java.math.BigDecimal;
public class DecimalClass {
/**
* @param args
*/
public static void main(String[] args) {
int num = 456;
BigDecimal num2 = new BigDecimal(12345.12);
BigDecimal num3 = num2.setScale(0,BigDecimal.ROUND_DOWN);
//Remain
System.out.println("int num = " + num);
System.out.println("decimal num = " + num2);
//小数を落としたもの
System.out.println("小数落としたもの = " + num3);
}
}
出力結果
int num = 456
decimal num = 12345.120000000000800355337560176849365234375
小数落としたもの = 12345
こうやってすると、Decimalでも整数部だけで対応できるんだなと。
やりながらよっしゃと思ってしまった。。。便利だな〜〜と。