CやFortranでは、小数の表示桁数を指定できることはよく知られています。
Javaで何かを計算してそれを表示したりすることはあまりありませんが、
できます!(笑)
結構知らない人も多いのでは?
"0"は絶対に表示され、"#"は0だと表示されません。
'で囲むと、その中の文字はそのまま表示されます。
(けれど\は\\で\になるから(ややこい)'\\'としなきゃ\になりません。)
詳しく知りたい人はドキュメントを見てね。
*ソース
import java.text.DecimalFormat;
public class NumberTest{
public static void main(String args[]){
DecimalFormat df1 = new DecimalFormat("0.00");
DecimalFormat df2 = new DecimalFormat("#.#%");
DecimalFormat df3 = new DecimalFormat("0.00E0");
DecimalFormat df4 = new DecimalFormat("'\\ '#,###");
double x = 1.0/6.0;
System.out.println("1.0 / 6.0 =");
System.out.println(" なし:"+x);
System.out.println(" (0.00):"+df1.format(x));
System.out.println(" (#.#%):"+df2.format(x));
System.out.println(" (0.00E0):"+df3.format(x));
System.out.println();
int y = 1234*5678;
System.out.println("1234 * 5678 =");
System.out.println(" なし:"+y);
System.out.println("('\\ '#,###):"+df4.format(y));
System.out.println(" (0.00E0):"+df3.format(y));
}
} |
*実行結果
E:\Java\test>java NumberTest
1.0 / 6.0 =
なし:0.16666666666666666
(0.00):0.17
(#.#%):16.7%
(0.00E0):1.67E-1
1234 * 5678 =
なし:7006652
('\ '#,###):\ 7,006,652
(0.00E0):7.01E6 |
|