4

たとえば、2 つの値が入力2.444され3.555、結果が long double になる場合など、データの範囲を計算するための GUI Java コードが1.11100000...あります。表示する小数点以下の桁数を指定するにはどうすればよいですか? (例: %.2f)

これは私のコードです:

public class Range
{
    public static void main(String args[])
    {
        int num=0; //number of data
        double d; //the data
        double smallest = Integer.MAX_VALUE;
        double largest = Integer.MIN_VALUE;
        double range = 0;

        String Num =
        JOptionPane.showInputDialog("Enter the number of data ");
        num=Integer.parseInt(Num);

        for(int i=0; i<num; i++)    
        {
            String D =
            JOptionPane.showInputDialog("Enter the data ");
            d=Double.parseDouble(D);

            if(d < smallest)
                smallest = d;
            if(d > largest)
                largest = d; 
        }

        range = largest - smallest ; //calculating the range of the input

        JOptionPane.showMessageDialog(null,"Range = "+smallest+"-"+largest+" = "+range,"Range",JOptionPane.PLAIN_MESSAGE);
    }
}
4

4 に答える 4

8

String.formatを使用して、好きな出力を定義できます。

String.format("Range = %.4f", range)

小数点以下4桁まで表示します。

于 2011-12-26T18:54:06.990 に答える
3

DecimalFormat . 以下のサンプルフォームはこちら

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class DecimalFormatExample
{
    public static void main(String[] args)
    {
        // We have some millons money here that we'll format its look.
        double money = 100550000.75;

        // By default to toString() method of the Double data type will print
        // the money value using a scientific number format as it is greater
        // than 10^7 (10,000,000.00). To be able to display the number without
        // scientific number format we can use java.text.DecimalFormat wich
        // is a sub class of java.text.NumberFormat.

        // Below we create a formatter with a pattern of #0.00. The # symbol
        // means any number but leading zero will not be displayed. The 0 
        // symbol will display the remaining digit and will display as zero
        // if no digit is available.
        NumberFormat formatter = new DecimalFormat("#0.00");

        // Print the number using scientific number format.
        System.out.println(money);

        // Print the number using our defined decimal format pattern as above.
        System.out.println(formatter.format(money));
    }
}
于 2011-12-26T18:54:16.630 に答える