使操作的输出显示2个小数点

时间:2011-07-16 04:57:34

标签: java

这是我目前的代码:

import java.util.Scanner;

public class Addition
{
    // main method begins execution of Java application
    public static void main( String args[] )
    {
       // create Scanner to obtain input from command window
       Scanner input = new Scanner( System.in );            

       int area;
       int number1;
       int number2;


       System.out.print( "Input base value =  " ); // prompt
       number1 = input.nextInt(); // read first number from user

       System.out.print( "Input height value = " ); // prompt
       number2 = input.nextInt(); // read second number from user

       area = 1/2*(number1*number2); // add numbers
       System.out.printf( "The Area of the right triangle is %d\n", area ); // display sum

    } // end method main

 } // end class Addition

当我输入5作为第一个和第二个数字时,我想让它显示小数点。我尝试用双区替换 int区域,但不起作用..

3 个答案:

答案 0 :(得分:1)

如果您想要小数点后两位数,则必须使area为双精度并使用格式字符串%1.2f

示例:

System.out.printf("%1.2f\n", 78785.7);

答案 1 :(得分:1)

您可以在这里查看大量示例:

Formatting Numerical Data

希望有所帮助:)干杯!

答案 2 :(得分:0)

除了将区域设为双倍之外,您还需要将1/2*(number1*number2)中的至少一个术语设为双精度,否则您将只进行数学运算,这将不会如何你期待。例如:

1.0/2*(number1*number2)

在您的输出中,您还必须使用%f而不是%d。