解答例 - 実習課題4 - 7.数値処理/数値の表現
(実習課題4)
円周率および自然対数の底 e を、色々な数値フォーマットで出力するコンソールプログラムを作成しなさい。少なくとも5種類それぞれの数値フォーマットで出力するようにする事。
解答例
package com.techscore.utility.chapter7.exercise4;
import java.text.DecimalFormat;
import java.text.NumberFormat;
/**
* FormatExample.java
* TECHSCORE Javaユーティリティ7章 実習課題4
*
* Copyright (c) 2004 Four-Dimensional Data, Inc.
*/
public class FormatExample {
private static final String[] formats =
{ "0", "#.###E0", "#.000E0", "000.#########E0", "00000.00000########" };
public static void main(String[] args) {
System.out.println("■円周率");
printNumber(Math.PI);
System.out.println("■自然対数の底");
printNumber(Math.E);
}
private static void printNumber(double d) {
System.out.println("---------------------+---------------------");
System.out.println(" フォーマット | 結果");
System.out.println("---------------------+---------------------");
for (int i = 0; i < formats.length; i++) {
NumberFormat format = new DecimalFormat(formats[i]);
System.out.println(fillSpace(formats[i]) + " | " + format.format(d));
}
System.out.println("");
}
private static String fillSpace(String str) {
int size = str.length();
for (int n = 0; n < 20 - size; n++) {
str += " ";
}
return str;
}
}

