kojiko-android’s blog

開発中にハマった時の解決策や、忘れがちなことを残しておきます。

電卓に使えるNumberFormatまとめ

数値をカンマ付きのテキストに変換する、
小数点以下の最大桁数を指定する、
端数処理をする、
末尾が"0"の場合は自動的に取り除く、など、
電卓のようなアプリにピッタリのNumberFormat。

NumberFormat nf = NumberFormat.getNumberInstance();

//    小数点以下の最大桁数
nf.setMaximumFractionDigits(3);

//    切捨て
nf.setRoundingMode(RoundingMode.DOWN);
      
//    切り上げ
nf.setRoundingMode(RoundingMode.UP);
      
//    四捨五入  
nf.setRoundingMode(RoundingMode.HALF_UP);
      
//    五捨六入
nf.setRoundingMode(RoundingMode.HALF_DOWN);
 
//    doubleなどの値を渡して文字列を取得          
String string = nf.format(value);


小数点以下最大桁数を指定すると、第○位まで表示されますが、
末尾の0は削除されます。
答えが整数の時はピリオド以下は表示されません。

NumberFormatは他にも様々なメソッドがありますが、
簡単な電卓なら上記の機能で十分実用利用できそうです。